<!DOCTYPE html>
<head><meta charset="utf-8" /><meta content="minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no" name="viewport" /><link href="static/css/tabler-icons.min.css" rel="stylesheet" type="text/css" /><link href="static/css/style.css" rel="stylesheet" type="text/css" /><link href="static/css/export.css" rel="stylesheet" type="text/css" /><link href="static/img/logo.png" rel="shortcut icon" type="image/png" /><link href="static/img/logo.png" rel="shortcut icon" sizes="192x192" /><link href="static/img/logo.png" rel="apple-touch-icon" /><meta name="apple-mobile-web-app-title" /><meta content="yes" name="apple-mobile-web-app-capable" /><meta content="yes" name="apple-touch-fullscreen" /><meta content="black-translucent" name="apple-mobile-web-app-status-bar-style" /><meta content="yes" name="mobile-web-app-capable" /><meta property="og:title" /><meta content="site" property="og:type" /><meta content="static/img/logo.png" property="og:image" /><meta property="og:description" /><title></title><meta property="og:site_name" /><meta /></head><body><div id="root"></div><script>window.logseq_db="[&quot;~#datascript/DB&quot;,[&quot;^ &quot;,&quot;~:schema&quot;,[&quot;^ &quot;,&quot;~:ast/version&quot;,[&quot;^ &quot;],&quot;~:db/encryption-keys&quot;,[&quot;^ &quot;],&quot;~:file/content&quot;,[&quot;^ &quot;],&quot;~:block/alias&quot;,[&quot;^ &quot;,&quot;~:db/valueType&quot;,&quot;~:db.type/ref&quot;,&quot;~:db/cardinality&quot;,&quot;~:db.cardinality/many&quot;],&quot;~:block/pre-block?&quot;,[&quot;^ &quot;],&quot;~:block/uuid&quot;,[&quot;^ &quot;,&quot;~:db/unique&quot;,&quot;~:db.unique/identity&quot;],&quot;~:block/priority&quot;,[&quot;^ &quot;],&quot;~:block/properties&quot;,[&quot;^ &quot;],&quot;~:block/journal?&quot;,[&quot;^ &quot;],&quot;~:block/namespace&quot;,[&quot;^ &quot;,&quot;^6&quot;,&quot;^7&quot;],&quot;~:block/updated-at&quot;,[&quot;^ &quot;],&quot;~:block/repeated?&quot;,[&quot;^ &quot;],&quot;~:db/type&quot;,[&quot;^ &quot;],&quot;~:file/handle&quot;,[&quot;^ &quot;],&quot;~:block/left&quot;,[&quot;^ &quot;,&quot;^6&quot;,&quot;^7&quot;,&quot;~:db/index&quot;,true],&quot;~:block/refs&quot;,[&quot;^ &quot;,&quot;^6&quot;,&quot;^7&quot;,&quot;^8&quot;,&quot;^9&quot;],&quot;~:block/scheduled&quot;,[&quot;^ &quot;],&quot;~:db/encrypted?&quot;,[&quot;^ &quot;],&quot;~:block/properties-order&quot;,[&quot;^ &quot;],&quot;~:block/created-at&quot;,[&quot;^ &quot;],&quot;~:block/deadline&quot;,[&quot;^ &quot;],&quot;~:block/collapsed?&quot;,[&quot;^ &quot;,&quot;^G&quot;,true],&quot;~:block/journal-day&quot;,[&quot;^ &quot;],&quot;~:block/format&quot;,[&quot;^ &quot;],&quot;~:block/tags&quot;,[&quot;^ &quot;,&quot;^6&quot;,&quot;^7&quot;,&quot;^8&quot;,&quot;^9&quot;],&quot;~:block/content&quot;,[&quot;^ &quot;],&quot;~:recent/pages&quot;,[&quot;^ &quot;],&quot;~:db/ident&quot;,[&quot;^ &quot;,&quot;^&lt;&quot;,&quot;^=&quot;],&quot;~:block/path-refs&quot;,[&quot;^ &quot;,&quot;^6&quot;,&quot;^7&quot;,&quot;^8&quot;,&quot;^9&quot;],&quot;~:block/parent&quot;,[&quot;^ &quot;,&quot;^6&quot;,&quot;^7&quot;,&quot;^G&quot;,true],&quot;~:block/heading-level&quot;,[&quot;^ &quot;],&quot;~:block/type&quot;,[&quot;^ &quot;],&quot;~:block/page&quot;,[&quot;^ &quot;,&quot;^6&quot;,&quot;^7&quot;,&quot;^G&quot;,true],&quot;~:block/name&quot;,[&quot;^ &quot;,&quot;^&lt;&quot;,&quot;^=&quot;],&quot;~:file/path&quot;,[&quot;^ &quot;,&quot;^&lt;&quot;,&quot;^=&quot;],&quot;~:block/file&quot;,[&quot;^ &quot;,&quot;^6&quot;,&quot;^7&quot;],&quot;~:block/marker&quot;,[&quot;^ &quot;],&quot;~:block/original-name&quot;,[&quot;^ &quot;,&quot;^&lt;&quot;,&quot;^=&quot;],&quot;~:schema/version&quot;,[&quot;^ &quot;]],&quot;~:datoms&quot;,[&quot;~#list&quot;,[[&quot;~#datascript/Datom&quot;,[1,&quot;^13&quot;,1,536870913]],[&quot;^16&quot;,[19,&quot;^13&quot;,1,536870919]],[&quot;^16&quot;,[1330,&quot;^T&quot;,&quot;~:recent/search&quot;,536871216]],[&quot;^16&quot;,[1331,&quot;^T&quot;,&quot;^S&quot;,536871217]],[&quot;^16&quot;,[1333,&quot;^13&quot;,1,536871231]],[&quot;^16&quot;,[1351,&quot;^2&quot;,1,536871280]],[&quot;^16&quot;,[1351,&quot;^T&quot;,&quot;^2&quot;,536871280]],[&quot;^16&quot;,[1355,&quot;^13&quot;,1,536871284]],[&quot;^16&quot;,[1378,&quot;^L&quot;,1654569052008,536871302]],[&quot;^16&quot;,[1378,&quot;^@&quot;,false,536871302]],[&quot;^16&quot;,[1378,&quot;^Z&quot;,&quot;@jsoncreator 使用中发现的问题&quot;,536871302]],[&quot;^16&quot;,[1378,&quot;^12&quot;,&quot;@JsonCreator 使用中发现的问题&quot;,536871302]],[&quot;^16&quot;,[1378,&quot;^?&quot;,[&quot;^ &quot;,&quot;~:public&quot;,true],536871302]],[&quot;^16&quot;,[1378,&quot;^B&quot;,1654569052008,536871302]],[&quot;^16&quot;,[1378,&quot;^;&quot;,&quot;~u629eb85f-5cd5-473e-93fd-27f94ec7f8cd&quot;,536871525]],[&quot;^16&quot;,[1379,&quot;^R&quot;,&quot;public:: true\\r\\n\\r\\n&quot;,536871302]],[&quot;^16&quot;,[1379,&quot;^P&quot;,&quot;~:markdown&quot;,536871302]],[&quot;^16&quot;,[1379,&quot;^F&quot;,1378,536871302]],[&quot;^16&quot;,[1379,&quot;^Y&quot;,1378,536871302]],[&quot;^16&quot;,[1379,&quot;^V&quot;,1378,536871302]],[&quot;^16&quot;,[1379,&quot;^U&quot;,1378,536871302]],[&quot;^16&quot;,[1379,&quot;^:&quot;,true,536871302]],[&quot;^16&quot;,[1379,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871302]],[&quot;^16&quot;,[1379,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871302]],[&quot;^16&quot;,[1379,&quot;~:block/unordered&quot;,true,536871302]],[&quot;^16&quot;,[1379,&quot;^;&quot;,&quot;~u629eb85c-6549-41c3-93f7-935bd14a7097&quot;,536871302]],[&quot;^16&quot;,[1380,&quot;^R&quot;,&quot;上代码\\n```java\\n@Getter\\n@AllArgsConstructor\\npublic enum CovidCodeLevel {\\n    NORMAL_GREEN(1),\\n    WARNING_YELLOW(2),\\n    ALERT_RED(3),\\n    UNKNOWN(10),\\n    ;\\n\\n    @EnumValue\\n    @JsonValue\\n    private final int code;\\n\\n    /**\\n     * 关于这一行\\n     * FactoryBasedEnumDeserializer.java : 126 -&gt; \\&quot;value = p.getValueAsString();\\&quot;\\n     * 虽然输入是  [1,2],\\n     * 但是其中的1会被当成字符串处理(可能在数组中才会这样被处理？)(测试发现直接在api传参也会当成字符串处理)\\n     * @param code\\n     * @return\\n     */\\n    @JsonCreator\\n    public static CovidCodeLevel fromCode(String code){\\n        if (code == null){return null;}\\n        int input = Integer.parseInt(code);\\n        for (CovidCodeLevel value : values()) {\\n            if (value.code == input ){return value;}\\n        }\\n        return null;\\n    }\\n}\\n```&quot;,536871302]],[&quot;^16&quot;,[1380,&quot;^P&quot;,&quot;^19&quot;,536871302]],[&quot;^16&quot;,[1380,&quot;^F&quot;,1379,536871302]],[&quot;^16&quot;,[1380,&quot;^Y&quot;,1378,536871302]],[&quot;^16&quot;,[1380,&quot;^V&quot;,1378,536871302]],[&quot;^16&quot;,[1380,&quot;^U&quot;,1378,536871302]],[&quot;^16&quot;,[1380,&quot;^1:&quot;,true,536871302]],[&quot;^16&quot;,[1380,&quot;^;&quot;,&quot;~u629eb85c-ca3b-4c4e-b536-e84358c425b8&quot;,536871302]],[&quot;^16&quot;,[1381,&quot;^R&quot;,&quot;也就是说，如果fromCode的入参不是字符串，就会在Jackson反序列化的时候触发TypeArgsException，反序列化失败&quot;,536871302]],[&quot;^16&quot;,[1381,&quot;^P&quot;,&quot;^19&quot;,536871302]],[&quot;^16&quot;,[1381,&quot;^F&quot;,1380,536871302]],[&quot;^16&quot;,[1381,&quot;^Y&quot;,1378,536871302]],[&quot;^16&quot;,[1381,&quot;^V&quot;,1378,536871302]],[&quot;^16&quot;,[1381,&quot;^U&quot;,1378,536871302]],[&quot;^16&quot;,[1381,&quot;^1:&quot;,true,536871302]],[&quot;^16&quot;,[1381,&quot;^;&quot;,&quot;~u629eb85b-1e2c-469d-99d0-af8ce7f96104&quot;,536871302]],[&quot;^16&quot;,[1382,&quot;^R&quot;,&quot;具体反序列化的代码&quot;,536871302]],[&quot;^16&quot;,[1382,&quot;^P&quot;,&quot;^19&quot;,536871302]],[&quot;^16&quot;,[1382,&quot;^F&quot;,1381,536871302]],[&quot;^16&quot;,[1382,&quot;^Y&quot;,1378,536871302]],[&quot;^16&quot;,[1382,&quot;^V&quot;,1378,536871302]],[&quot;^16&quot;,[1382,&quot;^U&quot;,1378,536871302]],[&quot;^16&quot;,[1382,&quot;^1:&quot;,true,536871302]],[&quot;^16&quot;,[1382,&quot;^;&quot;,&quot;~u629eb85b-f341-456a-b702-6b659b202417&quot;,536871302]],[&quot;^16&quot;,[1383,&quot;^R&quot;,&quot;com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer#deserialize&quot;,536871302]],[&quot;^16&quot;,[1383,&quot;^P&quot;,&quot;^19&quot;,536871302]],[&quot;^16&quot;,[1383,&quot;^F&quot;,1382,536871302]],[&quot;^16&quot;,[1383,&quot;^Y&quot;,1378,536871302]],[&quot;^16&quot;,[1383,&quot;^V&quot;,1382,536871302]],[&quot;^16&quot;,[1383,&quot;^U&quot;,1378,536871302]],[&quot;^16&quot;,[1383,&quot;^1:&quot;,true,536871302]],[&quot;^16&quot;,[1383,&quot;^;&quot;,&quot;~u629eb85b-33a9-4007-8c7d-4e5bb25edd87&quot;,536871302]],[&quot;^16&quot;,[1384,&quot;^R&quot;,&quot;~```java\\n...\\ntry {\\n  //这一行，value是String类型\\n  return _factory.callOnWith(_valueClass, value);\\n} catch (Exception e) {\\n  Throwable t = ClassUtil.throwRootCauseIfIOE(e);\\n  // [databind#1642]:\\n  if (ctxt.isEnabled(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL) &amp;&amp;\\n      t instanceof IllegalArgumentException) {\\n    return null;\\n  }\\n  return ctxt.handleInstantiationProblem(_valueClass, value, t);\\n}\\n...\\n```&quot;,536871302]],[&quot;^16&quot;,[1384,&quot;^P&quot;,&quot;^19&quot;,536871302]],[&quot;^16&quot;,[1384,&quot;^F&quot;,1383,536871302]],[&quot;^16&quot;,[1384,&quot;^Y&quot;,1378,536871302]],[&quot;^16&quot;,[1384,&quot;^V&quot;,1383,536871302]],[&quot;^16&quot;,[1384,&quot;^U&quot;,1378,536871302]],[&quot;^16&quot;,[1384,&quot;^1:&quot;,true,536871302]],[&quot;^16&quot;,[1384,&quot;^;&quot;,&quot;~u629eb85b-02c8-4825-b39f-2d549c2f7445&quot;,536871302]],[&quot;^16&quot;,[1404,&quot;^L&quot;,1654569052210,536871311]],[&quot;^16&quot;,[1404,&quot;^@&quot;,false,536871311]],[&quot;^16&quot;,[1404,&quot;^Z&quot;,&quot;star法则：如何做项目介绍&quot;,536871311]],[&quot;^16&quot;,[1404,&quot;^12&quot;,&quot;STAR法则：如何做项目介绍&quot;,536871311]],[&quot;^16&quot;,[1404,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871384]],[&quot;^16&quot;,[1404,&quot;^B&quot;,1654569052210,536871311]],[&quot;^16&quot;,[1404,&quot;^;&quot;,&quot;~u629eb85f-9fc1-4700-a848-e1156435bb0e&quot;,536871540]],[&quot;^16&quot;,[1413,&quot;^L&quot;,1654569052233,536871311]],[&quot;^16&quot;,[1413,&quot;^@&quot;,false,536871311]],[&quot;^16&quot;,[1413,&quot;^Z&quot;,&quot;logseq自定义第三方字体的方法&quot;,536871311]],[&quot;^16&quot;,[1413,&quot;^12&quot;,&quot;Logseq自定义第三方字体的方法&quot;,536871311]],[&quot;^16&quot;,[1413,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871354]],[&quot;^16&quot;,[1413,&quot;^B&quot;,1654569052233,536871311]],[&quot;^16&quot;,[1413,&quot;^;&quot;,&quot;~u629eb85f-9e99-4153-a1c7-452584bf8c37&quot;,536871561]],[&quot;^16&quot;,[1415,&quot;^L&quot;,1654569052220,536871311]],[&quot;^16&quot;,[1415,&quot;^@&quot;,false,536871311]],[&quot;^16&quot;,[1415,&quot;^Z&quot;,&quot;整块煎黑胡椒鸡胸肉&quot;,536871311]],[&quot;^16&quot;,[1415,&quot;^12&quot;,&quot;整块煎黑胡椒鸡胸肉&quot;,536871311]],[&quot;^16&quot;,[1415,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871438]],[&quot;^16&quot;,[1415,&quot;^B&quot;,1654569052220,536871311]],[&quot;^16&quot;,[1415,&quot;^;&quot;,&quot;~u629eb85f-dd56-4fa5-a101-b4de94c7538b&quot;,536871558]],[&quot;^16&quot;,[1745,&quot;^R&quot;,&quot;public:: true\\n\\n&quot;,536871354]],[&quot;^16&quot;,[1745,&quot;^P&quot;,&quot;^19&quot;,536871354]],[&quot;^16&quot;,[1745,&quot;^F&quot;,1413,536871354]],[&quot;^16&quot;,[1745,&quot;^Y&quot;,1413,536871354]],[&quot;^16&quot;,[1745,&quot;^V&quot;,1413,536871354]],[&quot;^16&quot;,[1745,&quot;^U&quot;,1413,536871354]],[&quot;^16&quot;,[1745,&quot;^:&quot;,true,536871354]],[&quot;^16&quot;,[1745,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871354]],[&quot;^16&quot;,[1745,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871354]],[&quot;^16&quot;,[1745,&quot;^1:&quot;,true,536871354]],[&quot;^16&quot;,[1745,&quot;^;&quot;,&quot;~u629eb85d-2f7f-4806-83b7-033cbae8f816&quot;,536871354]],[&quot;^16&quot;,[1746,&quot;^R&quot;,&quot;在看怎么发布page的教程时无意中看到的&quot;,536871354]],[&quot;^16&quot;,[1746,&quot;^P&quot;,&quot;^19&quot;,536871354]],[&quot;^16&quot;,[1746,&quot;^F&quot;,1745,536871354]],[&quot;^16&quot;,[1746,&quot;^Y&quot;,1413,536871354]],[&quot;^16&quot;,[1746,&quot;^V&quot;,1413,536871354]],[&quot;^16&quot;,[1746,&quot;^U&quot;,1413,536871354]],[&quot;^16&quot;,[1746,&quot;^1:&quot;,true,536871354]],[&quot;^16&quot;,[1746,&quot;^;&quot;,&quot;~u629eb85d-8649-466d-823b-945631c93250&quot;,536871354]],[&quot;^16&quot;,[1747,&quot;^R&quot;,&quot;https://zhuanlan.zhihu.com/p/467192292&quot;,536871354]],[&quot;^16&quot;,[1747,&quot;^P&quot;,&quot;^19&quot;,536871354]],[&quot;^16&quot;,[1747,&quot;^F&quot;,1746,536871354]],[&quot;^16&quot;,[1747,&quot;^Y&quot;,1413,536871354]],[&quot;^16&quot;,[1747,&quot;^V&quot;,1413,536871354]],[&quot;^16&quot;,[1747,&quot;^U&quot;,1413,536871354]],[&quot;^16&quot;,[1747,&quot;^1:&quot;,true,536871354]],[&quot;^16&quot;,[1747,&quot;^;&quot;,&quot;~u629eb85d-3720-48e3-aaa2-07a6ad5e143b&quot;,536871354]],[&quot;^16&quot;,[1748,&quot;^R&quot;,&quot;https://github.com/23784148/knowledge-garden/blob/main/logseq/custom.css&quot;,536871354]],[&quot;^16&quot;,[1748,&quot;^P&quot;,&quot;^19&quot;,536871354]],[&quot;^16&quot;,[1748,&quot;^F&quot;,1747,536871354]],[&quot;^16&quot;,[1748,&quot;^Y&quot;,1413,536871354]],[&quot;^16&quot;,[1748,&quot;^V&quot;,1413,536871354]],[&quot;^16&quot;,[1748,&quot;^U&quot;,1413,536871354]],[&quot;^16&quot;,[1748,&quot;^1:&quot;,true,536871354]],[&quot;^16&quot;,[1748,&quot;^;&quot;,&quot;~u629eb85d-a31b-4428-b25e-1a8be93acdea&quot;,536871354]],[&quot;^16&quot;,[1749,&quot;^R&quot;,&quot;结果总结出来还行的配置&quot;,536871354]],[&quot;^16&quot;,[1749,&quot;^P&quot;,&quot;^19&quot;,536871354]],[&quot;^16&quot;,[1749,&quot;^F&quot;,1748,536871354]],[&quot;^16&quot;,[1749,&quot;^Y&quot;,1413,536871354]],[&quot;^16&quot;,[1749,&quot;^V&quot;,1413,536871354]],[&quot;^16&quot;,[1749,&quot;^U&quot;,1413,536871354]],[&quot;^16&quot;,[1749,&quot;^1:&quot;,true,536871354]],[&quot;^16&quot;,[1749,&quot;^;&quot;,&quot;~u629eb85d-bd2f-4f58-8055-c950551b4690&quot;,536871354]],[&quot;^16&quot;,[1750,&quot;^R&quot;,&quot;~```css\\n/* @import url(\\&quot;https://cdn.jsdelivr.net/gh/pengx17/logseq-dev-theme@latest/custom.css\\&quot;); */\\n\\n\\n@import url(&apos;https://cdn.jsdelivr.net/gh/sansui233/logseq-bonofix-theme/custom.css&apos;);\\n\\n@import url(\\&quot;https://cdn.jsdelivr.net/gh/adobe-fonts/source-sans@3.046R/source-sans-3VF.css\\&quot;);\\n\\n\\n@font-face {\\n  font-family: \\&quot;Source Han Sans VF\\&quot;;\\n  font-weight: 200 900;\\n  font-style: normal;\\n  font-stretch: normal;\\n  src: url(\\&quot;https://cdn.jsdelivr.net/gh/adobe-fonts/source-han-sans@release/Variable/WOFF2/OTF/Subset/SourceHanSansCN-VF.otf.woff2\\&quot;);\\n}\\n\\n:root {\\n  --ls-font-family: -apple-system, BlinkMacSystemFont, \\&quot;Segoe UI\\&quot;, Helvetica, \\&quot;Apple Color Emoji\\&quot;, \\&quot;Source Sans 3 VF\\&quot;, \\&quot;Source Han Sans VF\\&quot; , Arial, sans-serif, \\&quot;Segoe UI Emoji\\&quot;, \\&quot;Segoe UI Symbol\\&quot;;\\n}\\n\\n/* 让左侧栏的标题更黑 */\\n.left-sidebar-inner .nav-content-item {\\n  font-size: 0.875rem;\\n  font-weight: 500;\\n}\\n```&quot;,536871354]],[&quot;^16&quot;,[1750,&quot;^P&quot;,&quot;^19&quot;,536871354]],[&quot;^16&quot;,[1750,&quot;^F&quot;,1749,536871354]],[&quot;^16&quot;,[1750,&quot;^Y&quot;,1413,536871354]],[&quot;^16&quot;,[1750,&quot;^V&quot;,1749,536871354]],[&quot;^16&quot;,[1750,&quot;^U&quot;,1413,536871354]],[&quot;^16&quot;,[1750,&quot;^1:&quot;,true,536871354]],[&quot;^16&quot;,[1750,&quot;^;&quot;,&quot;~u629eb85d-db9b-46bd-a8b4-abf12cf57ea2&quot;,536871354]],[&quot;^16&quot;,[1756,&quot;^L&quot;,1654569053435,536871360]],[&quot;^16&quot;,[1756,&quot;^@&quot;,false,536871360]],[&quot;^16&quot;,[1756,&quot;^Z&quot;,&quot;mybatis-plus 对枚举数组的转换&quot;,536871360]],[&quot;^16&quot;,[1756,&quot;^12&quot;,&quot;mybatis-plus 对枚举数组的转换&quot;,536871360]],[&quot;^16&quot;,[1756,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871360]],[&quot;^16&quot;,[1756,&quot;^B&quot;,1654569053435,536871360]],[&quot;^16&quot;,[1756,&quot;^;&quot;,&quot;~u629eb85f-b2b4-40be-beed-68b0f30be227&quot;,536871525]],[&quot;^16&quot;,[1757,&quot;^R&quot;,&quot;public:: true\\r\\n\\r\\n&quot;,536871360]],[&quot;^16&quot;,[1757,&quot;^P&quot;,&quot;^19&quot;,536871360]],[&quot;^16&quot;,[1757,&quot;^F&quot;,1756,536871360]],[&quot;^16&quot;,[1757,&quot;^Y&quot;,1756,536871360]],[&quot;^16&quot;,[1757,&quot;^V&quot;,1756,536871360]],[&quot;^16&quot;,[1757,&quot;^U&quot;,1756,536871360]],[&quot;^16&quot;,[1757,&quot;^:&quot;,true,536871360]],[&quot;^16&quot;,[1757,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871360]],[&quot;^16&quot;,[1757,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871360]],[&quot;^16&quot;,[1757,&quot;^1:&quot;,true,536871360]],[&quot;^16&quot;,[1757,&quot;^;&quot;,&quot;~u629eb85d-05ca-465f-82ee-afdec6e98e78&quot;,536871360]],[&quot;^16&quot;,[1758,&quot;^R&quot;,&quot;~```java\\npackage cn.mashang.attendance.modules.vroadgate.infra.repository.mapper;\\n\\nimport com.baomidou.mybatisplus.annotation.IEnum;\\nimport com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler;\\nimport com.baomidou.mybatisplus.core.toolkit.Assert;\\nimport com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;\\nimport com.baomidou.mybatisplus.core.toolkit.StringUtils;\\nimport org.apache.ibatis.reflection.DefaultReflectorFactory;\\nimport org.apache.ibatis.reflection.MetaClass;\\nimport org.apache.ibatis.reflection.ReflectorFactory;\\nimport org.apache.ibatis.reflection.invoker.Invoker;\\nimport org.apache.ibatis.type.ArrayTypeHandler;\\nimport org.apache.ibatis.type.JdbcType;\\n\\nimport java.math.BigDecimal;\\nimport java.sql.Array;\\nimport java.sql.PreparedStatement;\\nimport java.sql.SQLException;\\nimport java.util.Arrays;\\nimport java.util.Objects;\\n\\n/**\\n * Enum数组转换器\\n * 需要在配置此转换器的时候，使用 jdbcType 指定成员类型，\\n * 如：@TableField(typeHandler = EnumArrayTypeHandler.class, jdbcType = JdbcType.SMALLINT)\\n *\\n */\\npublic class EnumArrayTypeHandler&lt;E&gt; extends ArrayTypeHandler {\\n\\n    private final Class&lt;?&gt; enumClass;\\n\\n    private static final ReflectorFactory REFLECTOR_FACTORY = new DefaultReflectorFactory();\\n    private final Invoker invoker;\\n\\n    public EnumArrayTypeHandler(Class&lt;?&gt; type) {\\n        Assert.notNull(type, \\&quot;Type argument cannot be null\\&quot;);\\n\\n        this.enumClass = type.getComponentType();\\n        MetaClass metaClass = MetaClass.forClass(enumClass, REFLECTOR_FACTORY);\\n        String name = \\&quot;value\\&quot;;\\n        if (!IEnum.class.isAssignableFrom(type)) {\\n            name = MybatisEnumTypeHandler.findEnumValueFieldName(this.enumClass).orElseThrow(() -&gt; new IllegalArgumentException(String.format(\\&quot;Could not find @EnumValue in Class: %s.\\&quot;, this.enumClass.getName())));\\n        }\\n        this.invoker = metaClass.getGetInvoker(name);\\n    }\\n\\n    @Override\\n    public void setNonNullParameter(PreparedStatement ps, int i, Object t, JdbcType jdbcType) throws SQLException {\\n        // 注意，在idea 的执行表达式中下面这一行会报类型转换错误，但是实际上在这里转换却不报错\\n        Object[] array = Arrays.stream(((Object[]) t)).map(this::getValue).toArray();\\n        Array sqlArray = ps.getConnection().createArrayOf(jdbcType.name(), (Object[]) array);\\n        ps.setArray(i, sqlArray);\\n        sqlArray.free();\\n    }\\n\\n    @Override\\n    protected Object extractArray(Array array) throws SQLException {\\n        //通过反射工具转换数组，从实际的Array类型转换成我需要的Enum数组（如果返回Object[]会发生赋值错误）\\n        Object javaArray = array.getArray();\\n        int length = java.lang.reflect.Array.getLength(javaArray);\\n        Object resp = java.lang.reflect.Array.newInstance(enumClass,length);\\n        for (int i = 0; i &lt; length; i++) {\\n            Object val = java.lang.reflect.Array.get(javaArray, i);\\n            java.lang.reflect.Array.set(resp,i,valueOf(val));\\n        }\\n        return resp;\\n    }\\n\\n    private Object valueOf( Object value) {\\n        Object[] es = enumClass.getEnumConstants();\\n        return Arrays.stream(es).filter((e) -&gt; equalsValue(value, getValue(e))).findAny().orElse(null);\\n    }\\n\\n    /**\\n     * 值比较\\n     *\\n     * @param sourceValue 数据库字段值\\n     * @param targetValue 当前枚举属性值\\n     * @return 是否匹配\\n     * @since 3.3.0\\n     */\\n    protected boolean equalsValue(Object sourceValue, Object targetValue) {\\n        String sValue = StringUtils.toStringTrim(sourceValue);\\n        String tValue = StringUtils.toStringTrim(targetValue);\\n        if (sourceValue instanceof Number &amp;&amp; targetValue instanceof Number\\n                &amp;&amp; new BigDecimal(sValue).compareTo(new BigDecimal(tValue)) == 0) {\\n            return true;\\n        }\\n        return Objects.equals(sValue, tValue);\\n    }\\n\\n    private Object getValue(Object object) {\\n        try {\\n            return invoker.invoke(object, new Object[0]);\\n        } catch (ReflectiveOperationException e) {\\n            throw ExceptionUtils.mpe(e);\\n        }\\n    }\\n}\\n\\n```&quot;,536871360]],[&quot;^16&quot;,[1758,&quot;^P&quot;,&quot;^19&quot;,536871360]],[&quot;^16&quot;,[1758,&quot;^F&quot;,1757,536871360]],[&quot;^16&quot;,[1758,&quot;^Y&quot;,1756,536871360]],[&quot;^16&quot;,[1758,&quot;^V&quot;,1756,536871360]],[&quot;^16&quot;,[1758,&quot;^U&quot;,1756,536871360]],[&quot;^16&quot;,[1758,&quot;^1:&quot;,true,536871360]],[&quot;^16&quot;,[1758,&quot;^;&quot;,&quot;~u629eb85d-2ac1-492e-9b3b-e0eae6b34b59&quot;,536871360]],[&quot;^16&quot;,[1760,&quot;^L&quot;,1654569053457,536871363]],[&quot;^16&quot;,[1760,&quot;^@&quot;,false,536871363]],[&quot;^16&quot;,[1760,&quot;^Z&quot;,&quot;pgsql json字段查询及查询条件&quot;,536871363]],[&quot;^16&quot;,[1760,&quot;^12&quot;,&quot;PGSQL Json字段查询及查询条件&quot;,536871363]],[&quot;^16&quot;,[1760,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871363]],[&quot;^16&quot;,[1760,&quot;^B&quot;,1654569053457,536871363]],[&quot;^16&quot;,[1760,&quot;^;&quot;,&quot;~u629eb85e-06d9-4692-bac1-1f9a2ed068f0&quot;,536871486]],[&quot;^16&quot;,[1761,&quot;^R&quot;,&quot;public:: true\\r\\n\\r\\n&quot;,536871363]],[&quot;^16&quot;,[1761,&quot;^P&quot;,&quot;^19&quot;,536871363]],[&quot;^16&quot;,[1761,&quot;^F&quot;,1760,536871363]],[&quot;^16&quot;,[1761,&quot;^Y&quot;,1760,536871363]],[&quot;^16&quot;,[1761,&quot;^V&quot;,1760,536871363]],[&quot;^16&quot;,[1761,&quot;^U&quot;,1760,536871363]],[&quot;^16&quot;,[1761,&quot;^:&quot;,true,536871363]],[&quot;^16&quot;,[1761,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871363]],[&quot;^16&quot;,[1761,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871363]],[&quot;^16&quot;,[1761,&quot;^1:&quot;,true,536871363]],[&quot;^16&quot;,[1761,&quot;^;&quot;,&quot;~u629eb85d-7bd5-433f-9a50-416a2fb18123&quot;,536871363]],[&quot;^16&quot;,[1762,&quot;^R&quot;,&quot;#pgsql #数据库 #工作技巧&quot;,536871363]],[&quot;^16&quot;,[1762,&quot;^P&quot;,&quot;^19&quot;,536871363]],[&quot;^16&quot;,[1762,&quot;^F&quot;,1761,536871363]],[&quot;^16&quot;,[1762,&quot;^Y&quot;,1760,536871363]],[&quot;^16&quot;,[1762,&quot;^V&quot;,1760,536871363]],[&quot;^16&quot;,[1762,&quot;^U&quot;,743,536871363]],[&quot;^16&quot;,[1762,&quot;^U&quot;,744,536871363]],[&quot;^16&quot;,[1762,&quot;^U&quot;,745,536871363]],[&quot;^16&quot;,[1762,&quot;^U&quot;,1760,536871363]],[&quot;^16&quot;,[1762,&quot;^H&quot;,743,536871363]],[&quot;^16&quot;,[1762,&quot;^H&quot;,744,536871363]],[&quot;^16&quot;,[1762,&quot;^H&quot;,745,536871363]],[&quot;^16&quot;,[1762,&quot;^1:&quot;,true,536871363]],[&quot;^16&quot;,[1762,&quot;^;&quot;,&quot;~u629eb85d-95dc-41c1-8978-6a80e3aca2be&quot;,536871363]],[&quot;^16&quot;,[1763,&quot;^R&quot;,&quot;先上一个demo\\n\\n```SQL\\nselect extension::json -&gt;&gt; &apos;writeoffStatus&apos; as writeoffStatus,* from t_message where type = &apos;1050&apos; and status not in (&apos;1&apos;,&apos;d&apos;) and schoolid = 10000004081\\n-- The operator -&gt; 按键返回 JSON 对象字段.\\n-- The operator -&gt;&gt; 按文本返回JSON对象字段.\\n-- where 条件的话需要使用以下这种过滤方式\\nand extension::jsonb -&gt;&gt; &apos;writeoffStatus&apos; != &apos;0&apos;\\norder by id desc limit 20;\\n\\n```&quot;,536871363]],[&quot;^16&quot;,[1763,&quot;^P&quot;,&quot;^19&quot;,536871363]],[&quot;^16&quot;,[1763,&quot;^F&quot;,1762,536871363]],[&quot;^16&quot;,[1763,&quot;^Y&quot;,1760,536871363]],[&quot;^16&quot;,[1763,&quot;^V&quot;,1760,536871363]],[&quot;^16&quot;,[1763,&quot;^U&quot;,1760,536871363]],[&quot;^16&quot;,[1763,&quot;^1:&quot;,true,536871363]],[&quot;^16&quot;,[1763,&quot;^;&quot;,&quot;~u629eb85d-2254-451b-82f8-23b6e50384b2&quot;,536871363]],[&quot;^16&quot;,[1764,&quot;^R&quot;,&quot;#### extension::json -&gt;&gt; &apos;writeoffStatus&apos;\\n\\n|writeoffstatus|id|title|\\n|-|-|-|\\n|4|678695180|调休假|\\n|1|678694020|调休假|&quot;,536871363]],[&quot;^16&quot;,[1764,&quot;^P&quot;,&quot;^19&quot;,536871363]],[&quot;^16&quot;,[1764,&quot;^W&quot;,4,536871363]],[&quot;^16&quot;,[1764,&quot;^F&quot;,1763,536871363]],[&quot;^16&quot;,[1764,&quot;^Y&quot;,1760,536871363]],[&quot;^16&quot;,[1764,&quot;^V&quot;,1760,536871363]],[&quot;^16&quot;,[1764,&quot;^U&quot;,1760,536871363]],[&quot;^16&quot;,[1764,&quot;~:block/size&quot;,4,536871363]],[&quot;^16&quot;,[1764,&quot;^X&quot;,&quot;~:heading&quot;,536871363]],[&quot;^16&quot;,[1764,&quot;^1:&quot;,false,536871363]],[&quot;^16&quot;,[1764,&quot;^;&quot;,&quot;~u629eb85d-4eb6-44ae-94a7-a8392b70b8b6&quot;,536871363]],[&quot;^16&quot;,[1765,&quot;^R&quot;,&quot;#### extension::json -&gt; &apos;writeoffStatus\\n\\n|writeoffstatus|id|title|\\n|-|-|-|\\n|\\&quot;4\\&quot;|678695180|调休假|\\n|\\&quot;1\\&quot;|678694020|调休假|&quot;,536871363]],[&quot;^16&quot;,[1765,&quot;^P&quot;,&quot;^19&quot;,536871363]],[&quot;^16&quot;,[1765,&quot;^W&quot;,4,536871363]],[&quot;^16&quot;,[1765,&quot;^F&quot;,1764,536871363]],[&quot;^16&quot;,[1765,&quot;^Y&quot;,1760,536871363]],[&quot;^16&quot;,[1765,&quot;^V&quot;,1760,536871363]],[&quot;^16&quot;,[1765,&quot;^U&quot;,1760,536871363]],[&quot;^16&quot;,[1765,&quot;^1;&quot;,4,536871363]],[&quot;^16&quot;,[1765,&quot;^X&quot;,&quot;^1&lt;&quot;,536871363]],[&quot;^16&quot;,[1765,&quot;^1:&quot;,false,536871363]],[&quot;^16&quot;,[1765,&quot;^;&quot;,&quot;~u629eb85d-964c-4a93-934c-96cc91c2c512&quot;,536871363]],[&quot;^16&quot;,[1828,&quot;^R&quot;,&quot;硬性技能与软性技能上有什么提高&quot;,536871384]],[&quot;^16&quot;,[1828,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1828,&quot;^F&quot;,1853,536871384]],[&quot;^16&quot;,[1828,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1828,&quot;^V&quot;,1853,536871384]],[&quot;^16&quot;,[1828,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1828,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1828,&quot;^;&quot;,&quot;~u629eb85d-1eca-4292-ad6c-df52cea0901a&quot;,536871384]],[&quot;^16&quot;,[1829,&quot;^R&quot;,&quot;自己和其他人做这个工作的差异&quot;,536871384]],[&quot;^16&quot;,[1829,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1829,&quot;^F&quot;,1839,536871384]],[&quot;^16&quot;,[1829,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1829,&quot;^V&quot;,1834,536871384]],[&quot;^16&quot;,[1829,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1829,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1829,&quot;^;&quot;,&quot;~u629eb85d-d959-4003-b4ff-f68de594da19&quot;,536871384]],[&quot;^16&quot;,[1830,&quot;^R&quot;,&quot;管理：把项目中的milestone串联出来整体流程和内容&quot;,536871384]],[&quot;^16&quot;,[1830,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1830,&quot;^F&quot;,1837,536871384]],[&quot;^16&quot;,[1830,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1830,&quot;^V&quot;,1852,536871384]],[&quot;^16&quot;,[1830,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1830,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1830,&quot;^;&quot;,&quot;~u629eb85d-66bd-4c3e-ba8a-dc5dcbcce9bb&quot;,536871384]],[&quot;^16&quot;,[1831,&quot;^R&quot;,&quot;下次遇到机会可以在哪些地方提升&quot;,536871384]],[&quot;^16&quot;,[1831,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1831,&quot;^F&quot;,1828,536871384]],[&quot;^16&quot;,[1831,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1831,&quot;^V&quot;,1853,536871384]],[&quot;^16&quot;,[1831,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1831,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1831,&quot;^;&quot;,&quot;~u629eb85d-8e69-48df-b43c-3a4bb2d8f78f&quot;,536871384]],[&quot;^16&quot;,[1832,&quot;^R&quot;,&quot;Situation&quot;,536871384]],[&quot;^16&quot;,[1832,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1832,&quot;^F&quot;,1854,536871384]],[&quot;^16&quot;,[1832,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1832,&quot;^V&quot;,1404,536871384]],[&quot;^16&quot;,[1832,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1832,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1832,&quot;^;&quot;,&quot;~u629eb85d-2ea6-445b-a5ce-c9926d32969b&quot;,536871384]],[&quot;^16&quot;,[1833,&quot;^R&quot;,&quot;Result  or  Reflection&quot;,536871384]],[&quot;^16&quot;,[1833,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1833,&quot;^F&quot;,1852,536871384]],[&quot;^16&quot;,[1833,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1833,&quot;^V&quot;,1404,536871384]],[&quot;^16&quot;,[1833,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1833,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1833,&quot;^;&quot;,&quot;~u629eb85d-d475-4f1e-94b8-cee4ff9878d8&quot;,536871384]],[&quot;^16&quot;,[1834,&quot;^R&quot;,&quot;描述差异&quot;,536871384]],[&quot;^16&quot;,[1834,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1834,&quot;^F&quot;,1836,536871384]],[&quot;^16&quot;,[1834,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1834,&quot;^V&quot;,1833,536871384]],[&quot;^16&quot;,[1834,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1834,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1834,&quot;^;&quot;,&quot;~u629eb85d-168c-44fb-9148-52ca09b97be6&quot;,536871384]],[&quot;^16&quot;,[1835,&quot;^R&quot;,&quot;内部同事领导的评价&quot;,536871384]],[&quot;^16&quot;,[1835,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1835,&quot;^F&quot;,1836,536871384]],[&quot;^16&quot;,[1835,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1835,&quot;^V&quot;,1836,536871384]],[&quot;^16&quot;,[1835,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1835,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1835,&quot;^;&quot;,&quot;~u629eb85d-c661-4f07-8049-29f0407e2efb&quot;,536871384]],[&quot;^16&quot;,[1836,&quot;^R&quot;,&quot;内外部评价&quot;,536871384]],[&quot;^16&quot;,[1836,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1836,&quot;^F&quot;,1844,536871384]],[&quot;^16&quot;,[1836,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1836,&quot;^V&quot;,1833,536871384]],[&quot;^16&quot;,[1836,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1836,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1836,&quot;^;&quot;,&quot;~u629eb85d-393b-480c-bb2b-e76ae0b53304&quot;,536871384]],[&quot;^16&quot;,[1837,&quot;^R&quot;,&quot;合并同类项：把所有工作内容一一罗列下来，把相同逻辑的合并并优化措辞&quot;,536871384]],[&quot;^16&quot;,[1837,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1837,&quot;^F&quot;,1843,536871384]],[&quot;^16&quot;,[1837,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1837,&quot;^V&quot;,1852,536871384]],[&quot;^16&quot;,[1837,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1837,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1837,&quot;^;&quot;,&quot;~u629eb85d-e96b-4f48-b177-559c39073f32&quot;,536871384]],[&quot;^16&quot;,[1838,&quot;^R&quot;,&quot;public:: true\\r\\n\\r\\n&quot;,536871384]],[&quot;^16&quot;,[1838,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1838,&quot;^F&quot;,1404,536871384]],[&quot;^16&quot;,[1838,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1838,&quot;^V&quot;,1404,536871384]],[&quot;^16&quot;,[1838,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1838,&quot;^:&quot;,true,536871384]],[&quot;^16&quot;,[1838,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871384]],[&quot;^16&quot;,[1838,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871384]],[&quot;^16&quot;,[1838,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1838,&quot;^;&quot;,&quot;~u629eb85d-9936-409a-9ee7-dc5cdb722bd0&quot;,536871384]],[&quot;^16&quot;,[1839,&quot;^R&quot;,&quot;项目前后的差异&quot;,536871384]],[&quot;^16&quot;,[1839,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1839,&quot;^F&quot;,1834,536871384]],[&quot;^16&quot;,[1839,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1839,&quot;^V&quot;,1834,536871384]],[&quot;^16&quot;,[1839,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1839,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1839,&quot;^;&quot;,&quot;~u629eb85d-5252-42ae-a462-86aac653ab0e&quot;,536871384]],[&quot;^16&quot;,[1840,&quot;^R&quot;,&quot;{{renderer :linkpreview,https://www.bilibili.com/video/BV14v411B7ui}}&quot;,536871384]],[&quot;^16&quot;,[1840,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1840,&quot;^F&quot;,1833,536871384]],[&quot;^16&quot;,[1840,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1840,&quot;^V&quot;,1404,536871384]],[&quot;^16&quot;,[1840,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1840,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1840,&quot;^;&quot;,&quot;~u629eb85d-d950-4611-88be-339f45bb7af4&quot;,536871384]],[&quot;^16&quot;,[1841,&quot;^R&quot;,&quot;成本把控&quot;,536871384]],[&quot;^16&quot;,[1841,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1841,&quot;^F&quot;,1850,536871384]],[&quot;^16&quot;,[1841,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1841,&quot;^V&quot;,1844,536871384]],[&quot;^16&quot;,[1841,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1841,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1841,&quot;^;&quot;,&quot;~u629eb85d-e2f9-41f3-bc35-5b87a9bf09e7&quot;,536871384]],[&quot;^16&quot;,[1842,&quot;^R&quot;,&quot;时间把控&quot;,536871384]],[&quot;^16&quot;,[1842,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1842,&quot;^F&quot;,1844,536871384]],[&quot;^16&quot;,[1842,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1842,&quot;^V&quot;,1844,536871384]],[&quot;^16&quot;,[1842,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1842,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1842,&quot;^;&quot;,&quot;~u629eb85d-9078-4f1b-82ca-fe4d123b7d64&quot;,536871384]],[&quot;^16&quot;,[1843,&quot;^R&quot;,&quot;分段：按照时间顺序，把工作分成4-6个时间段，每个时间段做了什么&quot;,536871384]],[&quot;^16&quot;,[1843,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1843,&quot;^F&quot;,1852,536871384]],[&quot;^16&quot;,[1843,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1843,&quot;^V&quot;,1852,536871384]],[&quot;^16&quot;,[1843,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1843,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1843,&quot;^;&quot;,&quot;~u629eb85d-72f1-4983-91b6-32517c03ef87&quot;,536871384]],[&quot;^16&quot;,[1844,&quot;^R&quot;,&quot;项目的结果&quot;,536871384]],[&quot;^16&quot;,[1844,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1844,&quot;^F&quot;,1833,536871384]],[&quot;^16&quot;,[1844,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1844,&quot;^V&quot;,1833,536871384]],[&quot;^16&quot;,[1844,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1844,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1844,&quot;^;&quot;,&quot;~u629eb85d-fd18-45a4-b4fc-414bcf3124fa&quot;,536871384]],[&quot;^16&quot;,[1845,&quot;^R&quot;,&quot;个人角色，个人工作目标&quot;,536871384]],[&quot;^16&quot;,[1845,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1845,&quot;^F&quot;,1846,536871384]],[&quot;^16&quot;,[1845,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1845,&quot;^V&quot;,1851,536871384]],[&quot;^16&quot;,[1845,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1845,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1845,&quot;^;&quot;,&quot;~u629eb85d-6bfe-4209-9f25-2981562129db&quot;,536871384]],[&quot;^16&quot;,[1846,&quot;^R&quot;,&quot;团队任务&quot;,536871384]],[&quot;^16&quot;,[1846,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1846,&quot;^F&quot;,1851,536871384]],[&quot;^16&quot;,[1846,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1846,&quot;^V&quot;,1851,536871384]],[&quot;^16&quot;,[1846,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1846,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1846,&quot;^;&quot;,&quot;~u629eb85d-883a-4c8e-81da-51d9e750ae57&quot;,536871384]],[&quot;^16&quot;,[1847,&quot;^R&quot;,&quot;客户的评价怎么样&quot;,536871384]],[&quot;^16&quot;,[1847,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1847,&quot;^F&quot;,1835,536871384]],[&quot;^16&quot;,[1847,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1847,&quot;^V&quot;,1836,536871384]],[&quot;^16&quot;,[1847,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1847,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1847,&quot;^;&quot;,&quot;~u629eb85d-38c4-4eb2-8132-c74c607ac031&quot;,536871384]],[&quot;^16&quot;,[1848,&quot;^R&quot;,&quot;团队中的沟通、对内对外的沟通对象&quot;,536871384]],[&quot;^16&quot;,[1848,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1848,&quot;^F&quot;,1845,536871384]],[&quot;^16&quot;,[1848,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1848,&quot;^V&quot;,1851,536871384]],[&quot;^16&quot;,[1848,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1848,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1848,&quot;^;&quot;,&quot;~u629eb85d-2875-490d-aacc-a5cb6ece106f&quot;,536871384]],[&quot;^16&quot;,[1849,&quot;^R&quot;,&quot;做这个项目的背景是怎么样的？&quot;,536871384]],[&quot;^16&quot;,[1849,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1849,&quot;^F&quot;,1832,536871384]],[&quot;^16&quot;,[1849,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1849,&quot;^V&quot;,1832,536871384]],[&quot;^16&quot;,[1849,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1849,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1849,&quot;^;&quot;,&quot;~u629eb85d-5604-4715-8ef9-bad1cec8f649&quot;,536871384]],[&quot;^16&quot;,[1850,&quot;^R&quot;,&quot;质量把控&quot;,536871384]],[&quot;^16&quot;,[1850,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1850,&quot;^F&quot;,1842,536871384]],[&quot;^16&quot;,[1850,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1850,&quot;^V&quot;,1844,536871384]],[&quot;^16&quot;,[1850,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1850,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1850,&quot;^;&quot;,&quot;~u629eb85d-aca7-44e7-a64c-9a17384427dd&quot;,536871384]],[&quot;^16&quot;,[1851,&quot;^R&quot;,&quot;Task&quot;,536871384]],[&quot;^16&quot;,[1851,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1851,&quot;^F&quot;,1832,536871384]],[&quot;^16&quot;,[1851,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1851,&quot;^V&quot;,1404,536871384]],[&quot;^16&quot;,[1851,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1851,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1851,&quot;^;&quot;,&quot;~u629eb85d-26f4-4d4b-9784-48269703aeb2&quot;,536871384]],[&quot;^16&quot;,[1852,&quot;^R&quot;,&quot;Action&quot;,536871384]],[&quot;^16&quot;,[1852,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1852,&quot;^F&quot;,1851,536871384]],[&quot;^16&quot;,[1852,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1852,&quot;^V&quot;,1404,536871384]],[&quot;^16&quot;,[1852,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1852,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1852,&quot;^;&quot;,&quot;~u629eb85d-7bd5-4e15-9f92-09f7042891e4&quot;,536871384]],[&quot;^16&quot;,[1853,&quot;^R&quot;,&quot;收获的经验&quot;,536871384]],[&quot;^16&quot;,[1853,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1853,&quot;^F&quot;,1834,536871384]],[&quot;^16&quot;,[1853,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1853,&quot;^V&quot;,1833,536871384]],[&quot;^16&quot;,[1853,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1853,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1853,&quot;^;&quot;,&quot;~u629eb85d-1a1a-4d0d-b241-e10f7d2366fc&quot;,536871384]],[&quot;^16&quot;,[1854,&quot;^R&quot;,&quot;目标：具体描述一个事情，描述一个项目经验&quot;,536871384]],[&quot;^16&quot;,[1854,&quot;^P&quot;,&quot;^19&quot;,536871384]],[&quot;^16&quot;,[1854,&quot;^F&quot;,1838,536871384]],[&quot;^16&quot;,[1854,&quot;^Y&quot;,1404,536871384]],[&quot;^16&quot;,[1854,&quot;^V&quot;,1404,536871384]],[&quot;^16&quot;,[1854,&quot;^U&quot;,1404,536871384]],[&quot;^16&quot;,[1854,&quot;^1:&quot;,true,536871384]],[&quot;^16&quot;,[1854,&quot;^;&quot;,&quot;~u629eb85d-0795-4a3f-9621-99dba2ef67ba&quot;,536871384]],[&quot;^16&quot;,[1884,&quot;^L&quot;,1654569053775,536871390]],[&quot;^16&quot;,[1884,&quot;^@&quot;,false,536871390]],[&quot;^16&quot;,[1884,&quot;^Z&quot;,&quot;swagger-knife4j 自定义字段取值范围（解决枚举的可用值显示）&quot;,536871390]],[&quot;^16&quot;,[1884,&quot;^12&quot;,&quot;swagger-knife4j 自定义字段取值范围（解决枚举的可用值显示）&quot;,536871390]],[&quot;^16&quot;,[1884,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871390]],[&quot;^16&quot;,[1884,&quot;^B&quot;,1654569053775,536871390]],[&quot;^16&quot;,[1884,&quot;^;&quot;,&quot;~u629eb85f-8f99-4e6a-a1b6-914e651ad9bf&quot;,536871531]],[&quot;^16&quot;,[1885,&quot;^R&quot;,&quot;这时候我们debug发现，Enums类`springfox.documentation.schema.property.OptimizedModelPropertiesProvider#beanModelProperty`处调用，随后丢到了schemaPluginsManager中&quot;,536871390]],[&quot;^16&quot;,[1885,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1885,&quot;^F&quot;,1892,536871390]],[&quot;^16&quot;,[1885,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1885,&quot;^V&quot;,1884,536871390]],[&quot;^16&quot;,[1885,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1885,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1885,&quot;^;&quot;,&quot;~u629eb85d-9f14-4eb7-b26f-7023a93507f6&quot;,536871390]],[&quot;^16&quot;,[1886,&quot;^R&quot;,&quot;根据上面的处理流程，有思路了，我们可以利用它来覆写这个allowvalues&quot;,536871390]],[&quot;^16&quot;,[1886,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1886,&quot;^F&quot;,1896,536871390]],[&quot;^16&quot;,[1886,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1886,&quot;^V&quot;,1884,536871390]],[&quot;^16&quot;,[1886,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1886,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1886,&quot;^;&quot;,&quot;~u629eb85d-e984-4792-88a0-3775fe682880&quot;,536871390]],[&quot;^16&quot;,[1887,&quot;^R&quot;,&quot;public:: true\\n\\n&quot;,536871390]],[&quot;^16&quot;,[1887,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1887,&quot;^F&quot;,1884,536871390]],[&quot;^16&quot;,[1887,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1887,&quot;^V&quot;,1884,536871390]],[&quot;^16&quot;,[1887,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1887,&quot;^:&quot;,true,536871390]],[&quot;^16&quot;,[1887,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871390]],[&quot;^16&quot;,[1887,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871390]],[&quot;^16&quot;,[1887,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1887,&quot;^;&quot;,&quot;~u629eb85d-0499-40af-992e-ca39f99b5d25&quot;,536871390]],[&quot;^16&quot;,[1888,&quot;^R&quot;,&quot;被enum字段启发，可以去寻找Enum相关定义的springfox类，找到Enums&quot;,536871390]],[&quot;^16&quot;,[1888,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1888,&quot;^F&quot;,1897,536871390]],[&quot;^16&quot;,[1888,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1888,&quot;^V&quot;,1884,536871390]],[&quot;^16&quot;,[1888,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1888,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1888,&quot;^;&quot;,&quot;~u629eb85d-e944-43be-ab3b-0e6eb476d038&quot;,536871390]],[&quot;^16&quot;,[1889,&quot;^R&quot;,&quot;~```java\\n@ApiModelProperty(\\&quot;禁止进入的健康码，使用int传参，UNKNOWN(0),\\\\n\\&quot; +\\n            \\&quot;    NORMAL_GREEN(1),\\\\n\\&quot; +\\n            \\&quot;    WARNING_YELLOW(2),\\\\n\\&quot; +\\n            \\&quot;    ALERT_RED(3)\\&quot;)\\n    @NotEmpty\\n    List&lt;CovidCodeLevel&gt; prohibitCodes;\\n```&quot;,536871390]],[&quot;^16&quot;,[1889,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1889,&quot;^F&quot;,1894,536871390]],[&quot;^16&quot;,[1889,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1889,&quot;^V&quot;,1894,536871390]],[&quot;^16&quot;,[1889,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1889,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1889,&quot;^;&quot;,&quot;~u629eb85d-48b4-42b0-a228-ad515c1d8f1c&quot;,536871390]],[&quot;^16&quot;,[1890,&quot;^R&quot;,&quot;生成出来的文档也很恶心 ![jsdeliver](https://cdn.jsdelivr.net/gh/flython/logseq_pic@main/logseq/image_1653042278253_0.png)&quot;,536871390]],[&quot;^16&quot;,[1890,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1890,&quot;^F&quot;,1889,536871390]],[&quot;^16&quot;,[1890,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1890,&quot;^V&quot;,1894,536871390]],[&quot;^16&quot;,[1890,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1890,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1890,&quot;^;&quot;,&quot;~u629eb85d-3a9e-4243-8f60-33a20dfcf4e5&quot;,536871390]],[&quot;^16&quot;,[1891,&quot;^R&quot;,&quot;~```java\\n@Slf4j\\n@Configuration\\n@EnableSwagger2\\npublic class SwaggerConfig implements ModelPropertyBuilderPlugin {\\n\\n    @Override\\n    public void apply(ModelPropertyContext context) {\\n        TypeResolver resolver = context.getResolver();\\n        JavaType primaryType = context.getBeanPropertyDefinition().get().getPrimaryType();\\n        if (primaryType.isContainerType()) {\\n            primaryType = primaryType.getBindings().getBoundType(0);\\n        }\\n        if(primaryType.isEnumType()){\\n            context.getBuilder().allowableValues(new AllowableListValues(buildEnumAllowbleValues(primaryType.getRawClass()), \\&quot;LIST\\&quot;));\\n        }\\n    }\\n\\n    private List&lt;String&gt; buildEnumAllowbleValues(Class&lt;?&gt; enumClass) {\\n        if (!enumClass.isEnum()) {\\n            return Collections.emptyList();\\n        }\\n\\n        Function&lt;Enum,String&gt; transform = Object::toString;\\n\\n        Optional&lt;Field&gt; jsonField = Arrays.stream(enumClass.getDeclaredFields()).filter(field -&gt; field.isAnnotationPresent(JsonValue.class)).findFirst();\\n        if (jsonField.isPresent()){\\n            Field field = jsonField.get();\\n            field.setAccessible(true);\\n            transform = ins-&gt;{\\n                return ins.name() + \\&quot;(\\&quot;+ ReflectionUtils.getField(field,ins) + \\&quot;)\\&quot;;\\n            };\\n        } else {\\n            Optional&lt;Method&gt; jsonMethod = jsonField.isPresent()? Optional.empty() : Arrays.stream(enumClass.getDeclaredMethods()).filter(method -&gt; method.isAnnotationPresent(JsonValue.class)).findFirst();\\n            if (jsonField.isPresent()){\\n                Method method = jsonMethod.get();\\n                method.setAccessible(true);\\n                transform = ins-&gt;{\\n                    return ins.name() + \\&quot;(\\&quot;+ ReflectionUtils.invokeMethod(method,ins) + \\&quot;)\\&quot;;\\n                };\\n            }\\n        }\\n        Enum[] enums = (Enum[]) enumClass.getEnumConstants();\\n        return Arrays.stream(enums).map(transform).collect(Collectors.toList());\\n    }\\n\\n    @Override\\n    public boolean supports(DocumentationType documentationType) {\\n        return SwaggerPluginSupport.pluginDoesApply(documentationType);\\n    }\\n\\n}\\n```&quot;,536871390]],[&quot;^16&quot;,[1891,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1891,&quot;^F&quot;,1886,536871390]],[&quot;^16&quot;,[1891,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1891,&quot;^V&quot;,1886,536871390]],[&quot;^16&quot;,[1891,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1891,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1891,&quot;^;&quot;,&quot;~u629eb85d-392e-4c56-8ab7-20081a25b1f4&quot;,536871390]],[&quot;^16&quot;,[1892,&quot;^R&quot;,&quot;从`springfox.documentation.schema.Enums#findJsonValueAnnotatedMethod`可以得知，如果在方法上加JsonValue注解是可以正常被转换的，但是它只判断了Method，咱们的Enum中JsonValue注解在字段上&quot;,536871390]],[&quot;^16&quot;,[1892,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1892,&quot;^F&quot;,1888,536871390]],[&quot;^16&quot;,[1892,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1892,&quot;^V&quot;,1884,536871390]],[&quot;^16&quot;,[1892,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1892,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1892,&quot;^;&quot;,&quot;~u629eb85d-b33c-4181-82e1-0dd7a4e4a85e&quot;,536871390]],[&quot;^16&quot;,[1893,&quot;^R&quot;,&quot;PS：其实还有另外一种方法，看Enums里面的代码，可以看到，其实显示的参数调用的是toString方法，所以重写toString也是可以的&quot;,536871390]],[&quot;^16&quot;,[1893,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1893,&quot;^F&quot;,1886,536871390]],[&quot;^16&quot;,[1893,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1893,&quot;^V&quot;,1884,536871390]],[&quot;^16&quot;,[1893,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1893,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1893,&quot;^;&quot;,&quot;~u629eb85d-7e79-4ad2-b2c4-fdabd6c89b62&quot;,536871390]],[&quot;^16&quot;,[1894,&quot;^R&quot;,&quot;原来的代码很恶心：&quot;,536871390]],[&quot;^16&quot;,[1894,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1894,&quot;^F&quot;,1887,536871390]],[&quot;^16&quot;,[1894,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1894,&quot;^V&quot;,1884,536871390]],[&quot;^16&quot;,[1894,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1894,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1894,&quot;^;&quot;,&quot;~u629eb85d-d003-4fa6-8679-2e83c2983b79&quot;,536871390]],[&quot;^16&quot;,[1895,&quot;^R&quot;,&quot;最终效果： ![](https://cdn.jsdelivr.net/gh/flython/logseq_pic@main/logseq/image_1653042481507_0.png)&quot;,536871390]],[&quot;^16&quot;,[1895,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1895,&quot;^F&quot;,1891,536871390]],[&quot;^16&quot;,[1895,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1895,&quot;^V&quot;,1886,536871390]],[&quot;^16&quot;,[1895,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1895,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1895,&quot;^;&quot;,&quot;~u629eb85d-4b47-41af-bc9f-d53e07cc145f&quot;,536871390]],[&quot;^16&quot;,[1896,&quot;^R&quot;,&quot;这个schemaPluginsManager可以看到正好是调用ModelPropertyBuilderPlugin实现类做增强的&quot;,536871390]],[&quot;^16&quot;,[1896,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1896,&quot;^F&quot;,1885,536871390]],[&quot;^16&quot;,[1896,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1896,&quot;^V&quot;,1884,536871390]],[&quot;^16&quot;,[1896,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1896,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1896,&quot;^;&quot;,&quot;~u629eb85d-38fa-4296-a6bd-f81e981ce94d&quot;,536871390]],[&quot;^16&quot;,[1897,&quot;^R&quot;,&quot;找到swagger接口返回值，找到以下定义&quot;,536871390]],[&quot;^16&quot;,[1897,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1897,&quot;^F&quot;,1894,536871390]],[&quot;^16&quot;,[1897,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1897,&quot;^V&quot;,1884,536871390]],[&quot;^16&quot;,[1897,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1897,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1897,&quot;^;&quot;,&quot;~u629eb85d-4cf9-4f3c-8cea-826c4d914c35&quot;,536871390]],[&quot;^16&quot;,[1898,&quot;^R&quot;,&quot;~```java\\nstatic List&lt;String&gt; getEnumValues(final Class&lt;?&gt; subject) {\\n    return transformUnique(subject.getEnumConstants(), new Function&lt;Object, String&gt;() {\\n      @Override\\n      public String apply(Object input) {\\n        Optional&lt;String&gt; jsonValue = findJsonValueAnnotatedMethod(input)\\n                .transform(evaluateJsonValue(input));\\n        if (jsonValue.isPresent() &amp;&amp; !isNullOrEmpty(jsonValue.get())) {\\n          return jsonValue.get();\\n        }\\n        return input.toString();\\n      }\\n    });\\n  }\\n```&quot;,536871390]],[&quot;^16&quot;,[1898,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1898,&quot;^F&quot;,1893,536871390]],[&quot;^16&quot;,[1898,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1898,&quot;^V&quot;,1893,536871390]],[&quot;^16&quot;,[1898,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1898,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1898,&quot;^;&quot;,&quot;~u629eb85d-2609-451c-8245-1baef305af1f&quot;,536871390]],[&quot;^16&quot;,[1899,&quot;^R&quot;,&quot;~```json\\n                \\&quot;prohibitCodes\\&quot;: {\\n                    \\&quot;type\\&quot;: \\&quot;array\\&quot;,\\n                    \\&quot;description\\&quot;: \\&quot;禁止进入的健康码，使用int传参，UNKNOWN(0),\\\\n    NORMAL_GREEN(1),\\\\n    WARNING_YELLOW(2),\\\\n    ALERT_RED(3),\\&quot;,\\n                    \\&quot;items\\&quot;: {\\n                        \\&quot;type\\&quot;: \\&quot;string\\&quot;,\\n                        \\&quot;enum\\&quot;: [\\n                            \\&quot;UNKNOWN\\&quot;,\\n                            \\&quot;NORMAL_GREEN\\&quot;,\\n                            \\&quot;WARNING_YELLOW\\&quot;,\\n                            \\&quot;ALERT_RED\\&quot;\\n                        ]\\n                    }\\n                },\\n```&quot;,536871390]],[&quot;^16&quot;,[1899,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1899,&quot;^F&quot;,1897,536871390]],[&quot;^16&quot;,[1899,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1899,&quot;^V&quot;,1897,536871390]],[&quot;^16&quot;,[1899,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1899,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1899,&quot;^;&quot;,&quot;~u629eb85d-6ae2-49af-97fb-162556649917&quot;,536871390]],[&quot;^16&quot;,[1900,&quot;^R&quot;,&quot;~```java\\n  private static Optional&lt;Method&gt; findJsonValueAnnotatedMethod(Object enumConstant) {\\n    for (Method each : enumConstant.getClass().getMethods()) {\\n      JsonValue jsonValue = AnnotationUtils.findAnnotation(each, JsonValue.class);\\n      if (jsonValue != null &amp;&amp; jsonValue.value()) {\\n        return Optional.of(each);\\n      }\\n    }\\n    return Optional.absent();\\n  }\\n```&quot;,536871390]],[&quot;^16&quot;,[1900,&quot;^P&quot;,&quot;^19&quot;,536871390]],[&quot;^16&quot;,[1900,&quot;^F&quot;,1892,536871390]],[&quot;^16&quot;,[1900,&quot;^Y&quot;,1884,536871390]],[&quot;^16&quot;,[1900,&quot;^V&quot;,1892,536871390]],[&quot;^16&quot;,[1900,&quot;^U&quot;,1884,536871390]],[&quot;^16&quot;,[1900,&quot;^1:&quot;,true,536871390]],[&quot;^16&quot;,[1900,&quot;^;&quot;,&quot;~u629eb85d-a88d-4aba-8103-6a7f761fc5ea&quot;,536871390]],[&quot;^16&quot;,[1909,&quot;^L&quot;,1654569053811,536871396]],[&quot;^16&quot;,[1909,&quot;^@&quot;,false,536871396]],[&quot;^16&quot;,[1909,&quot;^Z&quot;,&quot;termux在安卓上开启ssh&quot;,536871396]],[&quot;^16&quot;,[1909,&quot;^12&quot;,&quot;Termux在安卓上开启ssh&quot;,536871396]],[&quot;^16&quot;,[1909,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871396]],[&quot;^16&quot;,[1909,&quot;^B&quot;,1654569053811,536871396]],[&quot;^16&quot;,[1909,&quot;^;&quot;,&quot;~u629eb85f-7e0e-4c88-8559-2dd1cfa7ddc9&quot;,536871519]],[&quot;^16&quot;,[1910,&quot;^R&quot;,&quot;public:: true\\r\\n\\r\\n&quot;,536871396]],[&quot;^16&quot;,[1910,&quot;^P&quot;,&quot;^19&quot;,536871396]],[&quot;^16&quot;,[1910,&quot;^F&quot;,1909,536871396]],[&quot;^16&quot;,[1910,&quot;^Y&quot;,1909,536871396]],[&quot;^16&quot;,[1910,&quot;^V&quot;,1909,536871396]],[&quot;^16&quot;,[1910,&quot;^U&quot;,1909,536871396]],[&quot;^16&quot;,[1910,&quot;^:&quot;,true,536871396]],[&quot;^16&quot;,[1910,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871396]],[&quot;^16&quot;,[1910,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871396]],[&quot;^16&quot;,[1910,&quot;^1:&quot;,true,536871396]],[&quot;^16&quot;,[1910,&quot;^;&quot;,&quot;~u629eb85d-38db-4308-bb4b-212f6f65047b&quot;,536871396]],[&quot;^16&quot;,[1911,&quot;^R&quot;,&quot;~```bash\\napt install openssh\\nsshd\\n# 忘记了密码就先修改下密码吧\\npasswd\\n\\nssh u0_a381@192.168.0.129 -p 8022\\n# 关闭sshd\\npkill sshd\\n```&quot;,536871396]],[&quot;^16&quot;,[1911,&quot;^P&quot;,&quot;^19&quot;,536871396]],[&quot;^16&quot;,[1911,&quot;^F&quot;,1910,536871396]],[&quot;^16&quot;,[1911,&quot;^Y&quot;,1909,536871396]],[&quot;^16&quot;,[1911,&quot;^V&quot;,1909,536871396]],[&quot;^16&quot;,[1911,&quot;^U&quot;,1909,536871396]],[&quot;^16&quot;,[1911,&quot;^1:&quot;,true,536871396]],[&quot;^16&quot;,[1911,&quot;^;&quot;,&quot;~u629eb85d-f413-4fc9-9518-1112dc77f6cb&quot;,536871396]],[&quot;^16&quot;,[1912,&quot;^R&quot;,&quot;#termux&quot;,536871396]],[&quot;^16&quot;,[1912,&quot;^P&quot;,&quot;^19&quot;,536871396]],[&quot;^16&quot;,[1912,&quot;^F&quot;,1911,536871396]],[&quot;^16&quot;,[1912,&quot;^Y&quot;,1909,536871396]],[&quot;^16&quot;,[1912,&quot;^V&quot;,1909,536871396]],[&quot;^16&quot;,[1912,&quot;^U&quot;,897,536871396]],[&quot;^16&quot;,[1912,&quot;^U&quot;,1909,536871396]],[&quot;^16&quot;,[1912,&quot;^H&quot;,897,536871396]],[&quot;^16&quot;,[1912,&quot;^1:&quot;,true,536871396]],[&quot;^16&quot;,[1912,&quot;^;&quot;,&quot;~u629eb85d-6874-41f0-8b97-ab3bc6c7fd28&quot;,536871396]],[&quot;^16&quot;,[1983,&quot;^L&quot;,1654569054041,536871423]],[&quot;^16&quot;,[1983,&quot;^@&quot;,false,536871423]],[&quot;^16&quot;,[1983,&quot;^Z&quot;,&quot;如何使用正则进行去重&quot;,536871423]],[&quot;^16&quot;,[1983,&quot;^12&quot;,&quot;如何使用正则进行去重&quot;,536871423]],[&quot;^16&quot;,[1983,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871423]],[&quot;^16&quot;,[1983,&quot;^B&quot;,1654569054041,536871423]],[&quot;^16&quot;,[1983,&quot;^;&quot;,&quot;~u629eb85f-a3f1-430c-ab83-c1b1b8572a6c&quot;,536871513]],[&quot;^16&quot;,[1984,&quot;^R&quot;,&quot;public:: true\\r\\n\\r\\n&quot;,536871423]],[&quot;^16&quot;,[1984,&quot;^P&quot;,&quot;^19&quot;,536871423]],[&quot;^16&quot;,[1984,&quot;^F&quot;,1983,536871423]],[&quot;^16&quot;,[1984,&quot;^Y&quot;,1983,536871423]],[&quot;^16&quot;,[1984,&quot;^V&quot;,1983,536871423]],[&quot;^16&quot;,[1984,&quot;^U&quot;,1983,536871423]],[&quot;^16&quot;,[1984,&quot;^:&quot;,true,536871423]],[&quot;^16&quot;,[1984,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871423]],[&quot;^16&quot;,[1984,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871423]],[&quot;^16&quot;,[1984,&quot;^1:&quot;,true,536871423]],[&quot;^16&quot;,[1984,&quot;^;&quot;,&quot;~u629eb85e-0496-4358-ac85-b1cd9c8b94a8&quot;,536871423]],[&quot;^16&quot;,[1985,&quot;^R&quot;,&quot;使用以下正则进行查找替换&quot;,536871423]],[&quot;^16&quot;,[1985,&quot;^P&quot;,&quot;^19&quot;,536871423]],[&quot;^16&quot;,[1985,&quot;^F&quot;,1984,536871423]],[&quot;^16&quot;,[1985,&quot;^Y&quot;,1983,536871423]],[&quot;^16&quot;,[1985,&quot;^V&quot;,1983,536871423]],[&quot;^16&quot;,[1985,&quot;^U&quot;,1983,536871423]],[&quot;^16&quot;,[1985,&quot;^1:&quot;,true,536871423]],[&quot;^16&quot;,[1985,&quot;^;&quot;,&quot;~u629eb85e-bfe4-4167-9778-59fa7c4764a9&quot;,536871423]],[&quot;^16&quot;,[1986,&quot;^R&quot;,&quot;查找：`^(.+)((?:\\\\r?\\\\n.*)*)(?:\\\\r?\\\\n\\\\1)$`&quot;,536871423]],[&quot;^16&quot;,[1986,&quot;^P&quot;,&quot;^19&quot;,536871423]],[&quot;^16&quot;,[1986,&quot;^F&quot;,1985,536871423]],[&quot;^16&quot;,[1986,&quot;^Y&quot;,1983,536871423]],[&quot;^16&quot;,[1986,&quot;^V&quot;,1983,536871423]],[&quot;^16&quot;,[1986,&quot;^U&quot;,1983,536871423]],[&quot;^16&quot;,[1986,&quot;^1:&quot;,true,536871423]],[&quot;^16&quot;,[1986,&quot;^;&quot;,&quot;~u629eb85e-307c-4cb2-9a9f-bb0b005cc4f1&quot;,536871423]],[&quot;^16&quot;,[1987,&quot;^R&quot;,&quot;替换为：`$1$2`&quot;,536871423]],[&quot;^16&quot;,[1987,&quot;^P&quot;,&quot;^19&quot;,536871423]],[&quot;^16&quot;,[1987,&quot;^F&quot;,1986,536871423]],[&quot;^16&quot;,[1987,&quot;^Y&quot;,1983,536871423]],[&quot;^16&quot;,[1987,&quot;^V&quot;,1983,536871423]],[&quot;^16&quot;,[1987,&quot;^U&quot;,1983,536871423]],[&quot;^16&quot;,[1987,&quot;^1:&quot;,true,536871423]],[&quot;^16&quot;,[1987,&quot;^;&quot;,&quot;~u629eb85e-0365-4f78-a08a-0ab0f9f1da1d&quot;,536871423]],[&quot;^16&quot;,[1989,&quot;^L&quot;,1654569054068,536871426]],[&quot;^16&quot;,[1989,&quot;^@&quot;,false,536871426]],[&quot;^16&quot;,[1989,&quot;^Z&quot;,&quot;如何在jdbctemplate里对使用rowmapper对pgarray进行转换&quot;,536871426]],[&quot;^16&quot;,[1989,&quot;^12&quot;,&quot;如何在jdbcTemplate里对使用RowMapper对PgArray进行转换&quot;,536871426]],[&quot;^16&quot;,[1989,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871426]],[&quot;^16&quot;,[1989,&quot;^B&quot;,1654569054068,536871426]],[&quot;^16&quot;,[1989,&quot;^;&quot;,&quot;~u629eb85f-83dc-4696-9514-82acc4aef245&quot;,536871513]],[&quot;^16&quot;,[1990,&quot;^R&quot;,&quot;前提：&quot;,536871426]],[&quot;^16&quot;,[1990,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[1990,&quot;^F&quot;,2000,536871426]],[&quot;^16&quot;,[1990,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[1990,&quot;^V&quot;,1989,536871426]],[&quot;^16&quot;,[1990,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[1990,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[1990,&quot;^;&quot;,&quot;~u629eb85e-cd90-4401-bd2f-5e13a5484752&quot;,536871426]],[&quot;^16&quot;,[1991,&quot;^R&quot;,&quot;常较瘦:\\n然后很多地方spring都在用他&quot;,536871426]],[&quot;^16&quot;,[1991,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[1991,&quot;^F&quot;,1996,536871426]],[&quot;^16&quot;,[1991,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[1991,&quot;^V&quot;,1995,536871426]],[&quot;^16&quot;,[1991,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[1991,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[1991,&quot;^;&quot;,&quot;~u629eb85e-2229-45e2-8723-ea8785e0302c&quot;,536871426]],[&quot;^16&quot;,[1992,&quot;^R&quot;,&quot;Spring环境&quot;,536871426]],[&quot;^16&quot;,[1992,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[1992,&quot;^F&quot;,1990,536871426]],[&quot;^16&quot;,[1992,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[1992,&quot;^V&quot;,1990,536871426]],[&quot;^16&quot;,[1992,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[1992,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[1992,&quot;^;&quot;,&quot;~u629eb85e-23ed-4f5e-a7a6-d9f0dcc40f19&quot;,536871426]],[&quot;^16&quot;,[1993,&quot;^R&quot;,&quot;核心代码&quot;,536871426]],[&quot;^16&quot;,[1993,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[1993,&quot;^F&quot;,1990,536871426]],[&quot;^16&quot;,[1993,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[1993,&quot;^V&quot;,1989,536871426]],[&quot;^16&quot;,[1993,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[1993,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[1993,&quot;^;&quot;,&quot;~u629eb85e-d746-468f-bceb-ac6d3effbdee&quot;,536871426]],[&quot;^16&quot;,[1994,&quot;^R&quot;,&quot;飞飞小弟:\\n这个DefaultConversionService&quot;,536871426]],[&quot;^16&quot;,[1994,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[1994,&quot;^F&quot;,1995,536871426]],[&quot;^16&quot;,[1994,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[1994,&quot;^V&quot;,1995,536871426]],[&quot;^16&quot;,[1994,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[1994,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[1994,&quot;^;&quot;,&quot;~u629eb85e-0c0f-44a4-ae17-6113841713fe&quot;,536871426]],[&quot;^16&quot;,[1995,&quot;^R&quot;,&quot;其他点&quot;,536871426]],[&quot;^16&quot;,[1995,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[1995,&quot;^F&quot;,1993,536871426]],[&quot;^16&quot;,[1995,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[1995,&quot;^V&quot;,1989,536871426]],[&quot;^16&quot;,[1995,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[1995,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[1995,&quot;^;&quot;,&quot;~u629eb85e-5a44-4884-b8b0-225df4c52939&quot;,536871426]],[&quot;^16&quot;,[1996,&quot;^R&quot;,&quot;常较瘦:\\n是我上午说的那个最开始用来转换xml的&quot;,536871426]],[&quot;^16&quot;,[1996,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[1996,&quot;^F&quot;,2003,536871426]],[&quot;^16&quot;,[1996,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[1996,&quot;^V&quot;,1995,536871426]],[&quot;^16&quot;,[1996,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[1996,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[1996,&quot;^;&quot;,&quot;~u629eb85e-8c4b-410b-9e94-122f47ee678a&quot;,536871426]],[&quot;^16&quot;,[1997,&quot;^R&quot;,&quot;~```java\\n\\tstatic {\\n\\t\\tDefaultConversionService cs = (DefaultConversionService) DefaultConversionService.getSharedInstance();\\n\\t\\tcs.addConverter(new ConditionalGenericConverter(){\\n\\t\\t\\t@Nullable\\n\\t\\t\\t@Override\\n\\t\\t\\tpublic Set&lt;ConvertiblePair&gt; getConvertibleTypes() {\\n\\t\\t\\t\\treturn Collections.singleton(new ConvertiblePair(Array.class, Integer[].class));\\n\\t\\t\\t}\\n\\n\\t\\t\\t@Nullable\\n\\t\\t\\t@Override\\n\\t\\t\\tpublic Object convert(@Nullable Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {\\n\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\treturn ((Array) source).getArray();\\n\\t\\t\\t\\t} catch (SQLException e) {\\n\\t\\t\\t\\t\\tthrow new IllegalStateException(e);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t@Override\\n\\t\\t\\tpublic boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) {\\n\\t\\t\\t\\treturn Array.class.isAssignableFrom(sourceType.getObjectType()) &amp;&amp; targetType.isArray();\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n```&quot;,536871426]],[&quot;^16&quot;,[1997,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[1997,&quot;^F&quot;,1993,536871426]],[&quot;^16&quot;,[1997,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[1997,&quot;^V&quot;,1993,536871426]],[&quot;^16&quot;,[1997,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[1997,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[1997,&quot;^;&quot;,&quot;~u629eb85e-3199-4143-a7f1-1099be1bd6f5&quot;,536871426]],[&quot;^16&quot;,[1998,&quot;^R&quot;,&quot;飞飞小弟:\\n好像不仅仅是作用于jdbc&quot;,536871426]],[&quot;^16&quot;,[1998,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[1998,&quot;^F&quot;,1994,536871426]],[&quot;^16&quot;,[1998,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[1998,&quot;^V&quot;,1995,536871426]],[&quot;^16&quot;,[1998,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[1998,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[1998,&quot;^;&quot;,&quot;~u629eb85e-8436-473d-9a83-58a53d2ab332&quot;,536871426]],[&quot;^16&quot;,[1999,&quot;^R&quot;,&quot;使用`BeanPropertyRowMapper`进行查询转换&quot;,536871426]],[&quot;^16&quot;,[1999,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[1999,&quot;^F&quot;,2001,536871426]],[&quot;^16&quot;,[1999,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[1999,&quot;^V&quot;,1990,536871426]],[&quot;^16&quot;,[1999,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[1999,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[1999,&quot;^;&quot;,&quot;~u629eb85e-69a7-4403-adb1-729fc3bcd92c&quot;,536871426]],[&quot;^16&quot;,[2000,&quot;^R&quot;,&quot;public:: true\\r\\n\\r\\n&quot;,536871426]],[&quot;^16&quot;,[2000,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[2000,&quot;^F&quot;,1989,536871426]],[&quot;^16&quot;,[2000,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[2000,&quot;^V&quot;,1989,536871426]],[&quot;^16&quot;,[2000,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[2000,&quot;^:&quot;,true,536871426]],[&quot;^16&quot;,[2000,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871426]],[&quot;^16&quot;,[2000,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871426]],[&quot;^16&quot;,[2000,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[2000,&quot;^;&quot;,&quot;~u629eb85e-ffda-400c-a6f1-c4b9a1893376&quot;,536871426]],[&quot;^16&quot;,[2001,&quot;^R&quot;,&quot;#pgsql&quot;,536871426]],[&quot;^16&quot;,[2001,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[2001,&quot;^F&quot;,2002,536871426]],[&quot;^16&quot;,[2001,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[2001,&quot;^V&quot;,1990,536871426]],[&quot;^16&quot;,[2001,&quot;^U&quot;,745,536871426]],[&quot;^16&quot;,[2001,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[2001,&quot;^H&quot;,745,536871426]],[&quot;^16&quot;,[2001,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[2001,&quot;^;&quot;,&quot;~u629eb85e-0be3-4054-b8b6-8f4e14b31df3&quot;,536871426]],[&quot;^16&quot;,[2002,&quot;^R&quot;,&quot;使用Jdbctemplate&quot;,536871426]],[&quot;^16&quot;,[2002,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[2002,&quot;^F&quot;,1992,536871426]],[&quot;^16&quot;,[2002,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[2002,&quot;^V&quot;,1990,536871426]],[&quot;^16&quot;,[2002,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[2002,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[2002,&quot;^;&quot;,&quot;~u629eb85e-3749-4a19-a6c1-0563a385b53b&quot;,536871426]],[&quot;^16&quot;,[2003,&quot;^R&quot;,&quot;飞飞小弟:\\n而且是单例的&quot;,536871426]],[&quot;^16&quot;,[2003,&quot;^P&quot;,&quot;^19&quot;,536871426]],[&quot;^16&quot;,[2003,&quot;^F&quot;,1998,536871426]],[&quot;^16&quot;,[2003,&quot;^Y&quot;,1989,536871426]],[&quot;^16&quot;,[2003,&quot;^V&quot;,1995,536871426]],[&quot;^16&quot;,[2003,&quot;^U&quot;,1989,536871426]],[&quot;^16&quot;,[2003,&quot;^1:&quot;,true,536871426]],[&quot;^16&quot;,[2003,&quot;^;&quot;,&quot;~u629eb85e-6fd7-4ef3-8735-ccfdb18c40e1&quot;,536871426]],[&quot;^16&quot;,[2040,&quot;^R&quot;,&quot;烹饪&quot;,536871438]],[&quot;^16&quot;,[2040,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2040,&quot;^F&quot;,2051,536871438]],[&quot;^16&quot;,[2040,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2040,&quot;^V&quot;,1415,536871438]],[&quot;^16&quot;,[2040,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2040,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2040,&quot;^;&quot;,&quot;~u629eb85e-8d56-4bbf-9f08-c2f9a9c642b8&quot;,536871438]],[&quot;^16&quot;,[2041,&quot;^R&quot;,&quot;适量黑胡椒&quot;,536871438]],[&quot;^16&quot;,[2041,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2041,&quot;^F&quot;,2054,536871438]],[&quot;^16&quot;,[2041,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2041,&quot;^V&quot;,2046,536871438]],[&quot;^16&quot;,[2041,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2041,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2041,&quot;^;&quot;,&quot;~u629eb85e-1e21-4455-9682-3105829db07c&quot;,536871438]],[&quot;^16&quot;,[2042,&quot;^R&quot;,&quot;1勺料酒&quot;,536871438]],[&quot;^16&quot;,[2042,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2042,&quot;^F&quot;,2043,536871438]],[&quot;^16&quot;,[2042,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2042,&quot;^V&quot;,2046,536871438]],[&quot;^16&quot;,[2042,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2042,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2042,&quot;^;&quot;,&quot;~u629eb85e-bcdc-4cee-8308-9ba2e973f0ed&quot;,536871438]],[&quot;^16&quot;,[2043,&quot;^R&quot;,&quot;1勺生抽&quot;,536871438]],[&quot;^16&quot;,[2043,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2043,&quot;^F&quot;,2046,536871438]],[&quot;^16&quot;,[2043,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2043,&quot;^V&quot;,2046,536871438]],[&quot;^16&quot;,[2043,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2043,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2043,&quot;^;&quot;,&quot;~u629eb85e-834d-4146-920a-f9ed1f734c0e&quot;,536871438]],[&quot;^16&quot;,[2044,&quot;^R&quot;,&quot;参考&quot;,536871438]],[&quot;^16&quot;,[2044,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2044,&quot;^F&quot;,2046,536871438]],[&quot;^16&quot;,[2044,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2044,&quot;^V&quot;,1415,536871438]],[&quot;^16&quot;,[2044,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2044,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2044,&quot;^;&quot;,&quot;~u629eb85e-470e-44c3-a12a-b6e5ce824378&quot;,536871438]],[&quot;^16&quot;,[2045,&quot;^R&quot;,&quot;两面变色后加水&quot;,536871438]],[&quot;^16&quot;,[2045,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2045,&quot;^F&quot;,2055,536871438]],[&quot;^16&quot;,[2045,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2045,&quot;^V&quot;,2040,536871438]],[&quot;^16&quot;,[2045,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2045,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2045,&quot;^;&quot;,&quot;~u629eb85e-97c5-4f29-ba42-c28173383424&quot;,536871438]],[&quot;^16&quot;,[2046,&quot;^R&quot;,&quot;酱汁\\nid:: 6293159f-9ba1-4065-aa23-11efabaddc79&quot;,536871438]],[&quot;^16&quot;,[2046,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2046,&quot;^F&quot;,2040,536871438]],[&quot;^16&quot;,[2046,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2046,&quot;^V&quot;,1415,536871438]],[&quot;^16&quot;,[2046,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2046,&quot;^?&quot;,[&quot;^ &quot;,&quot;~:id&quot;,&quot;6293159f-9ba1-4065-aa23-11efabaddc79&quot;],536871438]],[&quot;^16&quot;,[2046,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^1=&quot;]],536871438]],[&quot;^16&quot;,[2046,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2046,&quot;^;&quot;,&quot;~u6293159f-9ba1-4065-aa23-11efabaddc79&quot;,536871438]],[&quot;^16&quot;,[2047,&quot;^R&quot;,&quot;切块不切断&quot;,536871438]],[&quot;^16&quot;,[2047,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2047,&quot;^F&quot;,2056,536871438]],[&quot;^16&quot;,[2047,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2047,&quot;^V&quot;,2051,536871438]],[&quot;^16&quot;,[2047,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2047,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2047,&quot;^;&quot;,&quot;~u629eb85e-1b88-4311-937a-d1ae5498666d&quot;,536871438]],[&quot;^16&quot;,[2048,&quot;^R&quot;,&quot;1勺蚝油&quot;,536871438]],[&quot;^16&quot;,[2048,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2048,&quot;^F&quot;,2042,536871438]],[&quot;^16&quot;,[2048,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2048,&quot;^V&quot;,2046,536871438]],[&quot;^16&quot;,[2048,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2048,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2048,&quot;^;&quot;,&quot;~u629eb85e-b158-4101-b0ae-1f7d8e129be2&quot;,536871438]],[&quot;^16&quot;,[2049,&quot;^R&quot;,&quot;使用酱汁使用腌制，按摩，冷藏两小时&quot;,536871438]],[&quot;^16&quot;,[2049,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2049,&quot;^F&quot;,2047,536871438]],[&quot;^16&quot;,[2049,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2049,&quot;^V&quot;,2051,536871438]],[&quot;^16&quot;,[2049,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2049,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2049,&quot;^;&quot;,&quot;~u629eb85e-3066-4f82-86d1-77c363ee57df&quot;,536871438]],[&quot;^16&quot;,[2050,&quot;^R&quot;,&quot;public:: true\\n\\n&quot;,536871438]],[&quot;^16&quot;,[2050,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2050,&quot;^F&quot;,1415,536871438]],[&quot;^16&quot;,[2050,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2050,&quot;^V&quot;,1415,536871438]],[&quot;^16&quot;,[2050,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2050,&quot;^:&quot;,true,536871438]],[&quot;^16&quot;,[2050,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871438]],[&quot;^16&quot;,[2050,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871438]],[&quot;^16&quot;,[2050,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2050,&quot;^;&quot;,&quot;~u629eb85e-d6be-4947-a386-e18f33909659&quot;,536871438]],[&quot;^16&quot;,[2051,&quot;^R&quot;,&quot;做法&quot;,536871438]],[&quot;^16&quot;,[2051,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2051,&quot;^F&quot;,2050,536871438]],[&quot;^16&quot;,[2051,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2051,&quot;^V&quot;,1415,536871438]],[&quot;^16&quot;,[2051,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2051,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2051,&quot;^;&quot;,&quot;~u629eb85e-a912-4216-82de-f68a059c9cee&quot;,536871438]],[&quot;^16&quot;,[2052,&quot;^R&quot;,&quot;https://www.bilibili.com/video/BV1PX4y1V7S3\\n{{video https://www.bilibili.com/video/BV1PX4y1V7S3}}&quot;,536871438]],[&quot;^16&quot;,[2052,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2052,&quot;^F&quot;,2044,536871438]],[&quot;^16&quot;,[2052,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2052,&quot;^V&quot;,2044,536871438]],[&quot;^16&quot;,[2052,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2052,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2052,&quot;^;&quot;,&quot;~u629eb85e-08d6-47f9-a216-cc3c86c7067f&quot;,536871438]],[&quot;^16&quot;,[2053,&quot;^R&quot;,&quot;半勺白砂糖&quot;,536871438]],[&quot;^16&quot;,[2053,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2053,&quot;^F&quot;,2048,536871438]],[&quot;^16&quot;,[2053,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2053,&quot;^V&quot;,2046,536871438]],[&quot;^16&quot;,[2053,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2053,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2053,&quot;^;&quot;,&quot;~u629eb85e-3d6f-47f3-bc15-f32f3032f86d&quot;,536871438]],[&quot;^16&quot;,[2054,&quot;^R&quot;,&quot;小半勺盐&quot;,536871438]],[&quot;^16&quot;,[2054,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2054,&quot;^F&quot;,2053,536871438]],[&quot;^16&quot;,[2054,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2054,&quot;^V&quot;,2046,536871438]],[&quot;^16&quot;,[2054,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2054,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2054,&quot;^;&quot;,&quot;~u629eb85e-28cc-44d2-a22e-a7a8d214dd55&quot;,536871438]],[&quot;^16&quot;,[2055,&quot;^R&quot;,&quot;两面煎一会&quot;,536871438]],[&quot;^16&quot;,[2055,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2055,&quot;^F&quot;,2040,536871438]],[&quot;^16&quot;,[2055,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2055,&quot;^V&quot;,2040,536871438]],[&quot;^16&quot;,[2055,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2055,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2055,&quot;^;&quot;,&quot;~u629eb85e-5aa1-49b1-8d40-3abc80b4edc6&quot;,536871438]],[&quot;^16&quot;,[2056,&quot;^R&quot;,&quot;整块刀背敲散&quot;,536871438]],[&quot;^16&quot;,[2056,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2056,&quot;^F&quot;,2051,536871438]],[&quot;^16&quot;,[2056,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2056,&quot;^V&quot;,2051,536871438]],[&quot;^16&quot;,[2056,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2056,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2056,&quot;^;&quot;,&quot;~u629eb85e-7b5b-4c6d-bba2-e522ebce59cf&quot;,536871438]],[&quot;^16&quot;,[2057,&quot;^R&quot;,&quot;倒入剩余酱汁并收汁&quot;,536871438]],[&quot;^16&quot;,[2057,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2057,&quot;^F&quot;,2058,536871438]],[&quot;^16&quot;,[2057,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2057,&quot;^V&quot;,2040,536871438]],[&quot;^16&quot;,[2057,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2057,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2057,&quot;^;&quot;,&quot;~u629eb85e-2d3c-4b91-9c1e-7823bfdfbaac&quot;,536871438]],[&quot;^16&quot;,[2058,&quot;^R&quot;,&quot;加盖闷熟才不柴&quot;,536871438]],[&quot;^16&quot;,[2058,&quot;^P&quot;,&quot;^19&quot;,536871438]],[&quot;^16&quot;,[2058,&quot;^F&quot;,2045,536871438]],[&quot;^16&quot;,[2058,&quot;^Y&quot;,1415,536871438]],[&quot;^16&quot;,[2058,&quot;^V&quot;,2040,536871438]],[&quot;^16&quot;,[2058,&quot;^U&quot;,1415,536871438]],[&quot;^16&quot;,[2058,&quot;^1:&quot;,true,536871438]],[&quot;^16&quot;,[2058,&quot;^;&quot;,&quot;~u629eb85e-9f8a-4d9f-b3e0-09a5462f01be&quot;,536871438]],[&quot;^16&quot;,[2295,&quot;^L&quot;,1654569054562,536871456]],[&quot;^16&quot;,[2295,&quot;^@&quot;,false,536871456]],[&quot;^16&quot;,[2295,&quot;^Z&quot;,&quot;获取一个spring代理实例的原始实例&quot;,536871456]],[&quot;^16&quot;,[2295,&quot;^12&quot;,&quot;获取一个Spring代理实例的原始实例&quot;,536871456]],[&quot;^16&quot;,[2295,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871456]],[&quot;^16&quot;,[2295,&quot;^B&quot;,1654569054562,536871456]],[&quot;^16&quot;,[2295,&quot;^;&quot;,&quot;~u629eb85f-bdeb-4751-9dae-cd1bae5f79f6&quot;,536871555]],[&quot;^16&quot;,[2296,&quot;^R&quot;,&quot;public:: true\\r\\n\\r\\n&quot;,536871456]],[&quot;^16&quot;,[2296,&quot;^P&quot;,&quot;^19&quot;,536871456]],[&quot;^16&quot;,[2296,&quot;^F&quot;,2295,536871456]],[&quot;^16&quot;,[2296,&quot;^Y&quot;,2295,536871456]],[&quot;^16&quot;,[2296,&quot;^V&quot;,2295,536871456]],[&quot;^16&quot;,[2296,&quot;^U&quot;,2295,536871456]],[&quot;^16&quot;,[2296,&quot;^:&quot;,true,536871456]],[&quot;^16&quot;,[2296,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871456]],[&quot;^16&quot;,[2296,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871456]],[&quot;^16&quot;,[2296,&quot;^1:&quot;,true,536871456]],[&quot;^16&quot;,[2296,&quot;^;&quot;,&quot;~u629eb85e-d473-40b0-8b77-e50895ad48be&quot;,536871456]],[&quot;^16&quot;,[2297,&quot;^R&quot;,&quot;话不多说，上代码&quot;,536871456]],[&quot;^16&quot;,[2297,&quot;^P&quot;,&quot;^19&quot;,536871456]],[&quot;^16&quot;,[2297,&quot;^F&quot;,2296,536871456]],[&quot;^16&quot;,[2297,&quot;^Y&quot;,2295,536871456]],[&quot;^16&quot;,[2297,&quot;^V&quot;,2295,536871456]],[&quot;^16&quot;,[2297,&quot;^U&quot;,2295,536871456]],[&quot;^16&quot;,[2297,&quot;^1:&quot;,true,536871456]],[&quot;^16&quot;,[2297,&quot;^;&quot;,&quot;~u629eb85e-6ce8-45e7-a314-378f4048144a&quot;,536871456]],[&quot;^16&quot;,[2298,&quot;^R&quot;,&quot;~```java\\n public static Object getAopTarget(Object proxy) throws Exception {\\n        if(!AopUtils.isAopProxy(proxy)) {\\n            return proxy;\\n        }\\n        if(AopUtils.isJdkDynamicProxy(proxy)) {\\n            return getJdkDynamicProxyTargetObject(proxy);\\n        } else { //cglib\\n            return getCglibProxyTargetObject(proxy);\\n        }\\n    }\\n    private static Object getCglibProxyTargetObject(Object proxy) throws Exception {\\n        Field h = proxy.getClass().getDeclaredField(\\&quot;CGLIB$CALLBACK_0\\&quot;);\\n        h.setAccessible(true);\\n        Object dynamicAdvisedInterceptor = h.get(proxy);\\n        Field advised = dynamicAdvisedInterceptor.getClass().getDeclaredField(\\&quot;advised\\&quot;);\\n        advised.setAccessible(true);\\n        Object target = ((AdvisedSupport)advised.get(dynamicAdvisedInterceptor)).getTargetSource().getTarget();\\n        return target;\\n    }\\n    private static Object getJdkDynamicProxyTargetObject(Object proxy) throws Exception {\\n        Field h = proxy.getClass().getSuperclass().getDeclaredField(\\&quot;h\\&quot;);\\n        h.setAccessible(true);\\n        AopProxy aopProxy = (AopProxy) h.get(proxy);\\n        Field advised = aopProxy.getClass().getDeclaredField(\\&quot;advised\\&quot;);\\n        advised.setAccessible(true);\\n        Object target = ((AdvisedSupport)advised.get(aopProxy)).getTargetSource().getTarget();\\n        return target;\\n    }\\n```&quot;,536871456]],[&quot;^16&quot;,[2298,&quot;^P&quot;,&quot;^19&quot;,536871456]],[&quot;^16&quot;,[2298,&quot;^F&quot;,2297,536871456]],[&quot;^16&quot;,[2298,&quot;^Y&quot;,2295,536871456]],[&quot;^16&quot;,[2298,&quot;^V&quot;,2295,536871456]],[&quot;^16&quot;,[2298,&quot;^U&quot;,2295,536871456]],[&quot;^16&quot;,[2298,&quot;^1:&quot;,true,536871456]],[&quot;^16&quot;,[2298,&quot;^;&quot;,&quot;~u629eb85e-6fcc-4d30-b159-b9d9293f646f&quot;,536871456]],[&quot;^16&quot;,[2300,&quot;^L&quot;,1654569054592,536871459]],[&quot;^16&quot;,[2300,&quot;^@&quot;,false,536871459]],[&quot;^16&quot;,[2300,&quot;^Z&quot;,&quot;记录一次 dubbo rpc调用失败日志问题排查&quot;,536871459]],[&quot;^16&quot;,[2300,&quot;^12&quot;,&quot;记录一次 dubbo rpc调用失败日志问题排查&quot;,536871459]],[&quot;^16&quot;,[2300,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871827]],[&quot;^16&quot;,[2300,&quot;^B&quot;,1654569054592,536871459]],[&quot;^16&quot;,[2300,&quot;^;&quot;,&quot;~u629eb85e-d902-43d7-a5ce-f409ff69c583&quot;,536871474]],[&quot;^16&quot;,[2301,&quot;^R&quot;,&quot;#### 背景描述\\n\\n1. 服务调用17ms，并发64&quot;,536871459]],[&quot;^16&quot;,[2301,&quot;^P&quot;,&quot;^19&quot;,536871459]],[&quot;^16&quot;,[2301,&quot;^W&quot;,4,536871459]],[&quot;^16&quot;,[2301,&quot;^F&quot;,2663,536871827]],[&quot;^16&quot;,[2301,&quot;^Y&quot;,2300,536871459]],[&quot;^16&quot;,[2301,&quot;^V&quot;,2300,536871459]],[&quot;^16&quot;,[2301,&quot;^U&quot;,2300,536871459]],[&quot;^16&quot;,[2301,&quot;^1;&quot;,4,536871459]],[&quot;^16&quot;,[2301,&quot;^X&quot;,&quot;^1&lt;&quot;,536871459]],[&quot;^16&quot;,[2301,&quot;^1:&quot;,false,536871459]],[&quot;^16&quot;,[2301,&quot;^;&quot;,&quot;~u629eb85e-d162-4631-8d02-6cad1313f721&quot;,536871459]],[&quot;^16&quot;,[2302,&quot;^R&quot;,&quot;#### 问题现象\\n\\n\\n\\n线上rpc出现大量失败&quot;,536871459]],[&quot;^16&quot;,[2302,&quot;^P&quot;,&quot;^19&quot;,536871459]],[&quot;^16&quot;,[2302,&quot;^W&quot;,4,536871459]],[&quot;^16&quot;,[2302,&quot;^F&quot;,2301,536871459]],[&quot;^16&quot;,[2302,&quot;^Y&quot;,2300,536871459]],[&quot;^16&quot;,[2302,&quot;^V&quot;,2300,536871459]],[&quot;^16&quot;,[2302,&quot;^U&quot;,2300,536871459]],[&quot;^16&quot;,[2302,&quot;^1;&quot;,4,536871459]],[&quot;^16&quot;,[2302,&quot;^X&quot;,&quot;^1&lt;&quot;,536871459]],[&quot;^16&quot;,[2302,&quot;^1:&quot;,true,536871459]],[&quot;^16&quot;,[2302,&quot;^;&quot;,&quot;~u629eb85e-6c0d-48f9-8288-b6d877872580&quot;,536871459]],[&quot;^16&quot;,[2303,&quot;^R&quot;,&quot;![image-20211208233758600](http://noteimg.flython.ltd/pigGo/image-20211208233758600.png)\\n\\n查询ELK，可以看到，在16:30到18:00之间有34275个失败，其中考勤居多，以下是其中一个错误日志和错误的方法统计\\n\\n**错误日志**\\n\\n```log\\n[2021-12-08 18:12:04.807][ERROR] [ConsumeMessageThread_18]c.m.v.v.s.i.VRoadGateManagerService[281]- entry_manage_push error \\norg.apache.dubbo.rpc.RpcException: Failed to invoke the method sendMessage in the service com.mashang.vxiao.commons.rocketmq.service.IRocketMQService. Tried 1 times of the providers [10.224.10.189:20880] (1/5) from the registry 172.16.61.27:2181 on the consumer 10.224.5.201 using the dubbo version 2.7.8. Last error is: Failed to invoke remote method: sendMessage, provider: dubbo://10.224.10.189:20880/com.mashang.vxiao.commons.rocketmq.service.IRocketMQService?anyhost=true&amp;application=x-work-attendance&amp;check=false&amp;deprecated=false&amp;dubbo=2.0.2&amp;dynamic=true&amp;generic=false&amp;init=false&amp;interface=com.mashang.vxiao.commons.rocketmq.service.IRocketMQService&amp;metadata-type=remote&amp;methods=sendMessage,sendOneway,isEnable,sendDelayMessage,sendOrderMessage&amp;pid=1&amp;qos.enable=false&amp;register.ip=10.224.5.201&amp;release=2.7.8&amp;remote.application=vxiao-co-basic&amp;retries=0&amp;revision=0.0.1-SNAPSHOT&amp;service.filter=TraceDubboProviderFilter&amp;side=consumer&amp;sticky=false&amp;timeout=30000&amp;timestamp=1638943622168, cause: org.apache.dubbo.remoting.RemotingException: Server side(10.224.10.189,20880) thread pool is exhausted, detail msg:Thread pool is EXHAUSTED! Thread Name: DubboServerHandler-10.224.10.189:20880, Pool Size: 200 (active: 200, core: 200, max: 200, largest: 200), Task: 29230 (completed: 29030), Executor status:(isShutdown:false, isTerminated:false, isTerminating:false), in dubbo://10.224.10.189:20880!\\n\\tat org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:113)\\n\\tat org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:260)\\n\\tat org.apache.dubbo.rpc.cluster.interceptor.ClusterInterceptor.intercept(ClusterInterceptor.java:47)\\n\\tat org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$InterceptorInvokerNode.invoke(AbstractCluster.java:92)\\n\\tat org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:88)\\n\\tat org.apache.dubbo.rpc.cluster.support.registry.ZoneAwareClusterInvoker.doInvoke(ZoneAwareClusterInvoker.java:91)\\n\\tat org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:260)\\n\\tat org.apache.dubbo.rpc.cluster.interceptor.ClusterInterceptor.intercept(ClusterInterceptor.java:47)\\n\\tat org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$InterceptorInvokerNode.invoke(AbstractCluster.java:92)\\n\\tat org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:74)\\n\\tat org.apache.dubbo.common.bytecode.proxy3.sendMessage(proxy3.java)\\n\\tat com.mashang.vxiao.vroadgate.service.impl.VRoadGateManagerService.addAccessHistory(VRoadGateManagerService.java:279)\\n\\tat com.mashang.vxiao.vroadgate.service.impl.VRoadGateManagerService$$FastClassBySpringCGLIB$$babbace4.invoke(&lt;generated&gt;)\\n\\tat org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\\n\\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)\\n\\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\\n\\tat org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295)\\n```\\n\\n**服务统计**\\n\\n```log\\n全部     考勤\\n16894    8992    getString in the service com.mashang.vxiao.commons.config.service.ISysConfigService\\n1333     1239    getLong in the service com.mashang.vxiao.commons.config.service.ISysConfigService\\n12153    8614    sendMessage in the service com.mashang.vxiao.commons.rocketmq.service.IRocketMQService\\n82       82      publishUpdateBannerNotify in the service com.mashang.vxiao.commons.mqtt.service.IMQTTService\\n1447     985     queryFileInfo in the service com.mashang.vxiao.commons.file.service.IFileService\\n488      0       publish in the service com.mashang.vxiao.commons.mqtt.service.IMQTTService\\n682      0       getInt in the service com.mashang.vxiao.commons.config.service.ISysConfigService\\n186      0       saveErrorLog in the service com.mashang.vxiao.commons.log.service.IErrorLogService\\n196      0       queryWeather in the service com.mashang.vxiao.commons.weather.service.IWeatherService\\n24       0       getStringArray in the service com.mashang.vxiao.commons.config.service.ISysConfigService\\n1        0       userLogOut in the service com.mashang.vxiao.commons.mqtt.service.IMQTTService\\n1        0       saveOrUpdateUserInfo in the service com.mashang.vxiao.base.user.service.IUserService\\n```&quot;,536871459]],[&quot;^16&quot;,[2303,&quot;^P&quot;,&quot;^19&quot;,536871459]],[&quot;^16&quot;,[2303,&quot;^F&quot;,2302,536871459]],[&quot;^16&quot;,[2303,&quot;^Y&quot;,2300,536871459]],[&quot;^16&quot;,[2303,&quot;^V&quot;,2300,536871459]],[&quot;^16&quot;,[2303,&quot;^U&quot;,2300,536871459]],[&quot;^16&quot;,[2303,&quot;^1:&quot;,true,536871459]],[&quot;^16&quot;,[2303,&quot;^;&quot;,&quot;~u629eb85e-e818-4837-a2b9-0ab01bc11af8&quot;,536871459]],[&quot;^16&quot;,[2304,&quot;^R&quot;,&quot;#### 问题排查\\n\\n首先，遇到这样大量的rpc错误，首先考虑的应该是可能调用太频繁了，由于报错大部分都在考勤服务的出入管理上，所以首先想到的可能是我的调用太频繁了。\\n\\n\\n\\n\\n\\n查看下面两条日志（省略中间细节）\\n\\n&gt; [2021-12-08 17:49:00.616][ERROR] [ConsumeMessageThread_14]c.m.v.v.s.impl.VRoadGateService[1640]- uploadThirdpartyRoadGateStatus......detail msg:Thread pool is EXHAUSTED! Thread Name: DubboServerHandler-10.224.21.209:20880, Pool Size: 200 (active: 200, core: 200, max: 200, largest: 200), Task: 27894 (completed: **27694**), Executor status:(isShutdown:false, isTerminated:false, isTerminating:false), in dubbo://10.224.21.209:20880!\\n&gt;\\n&gt;  [2021-12-08 17:49:20.689][ERROR] [ConsumeMessageThread_13]c.m.v.v.s.i.VRoadGateManagerService[281]- entry_manage_push error  org.apache.dubbo.rpc.RpcException: Failed to invoke the method sendMessage ...... detail msg:Thread pool is EXHAUSTED! Thread Name: DubboServerHandler-10.224.21.209:20880, Pool Size: 200 (active: 200, core: 200, max: 200, largest: 200), Task: 27917 (completed: **27717**), Executor status:(isShutdown:false, isTerminated:false, isTerminating:false), in dubbo://10.224.21.209:20880!\\n\\n可以看到，两条日志中间刚好差了20秒，我们再看完成的人物数 27717 - 27694 = 23\\n\\n整整20秒才处理了23个rpc请求，QPS降到了秒级，不用说，问题肯定出在dubbo的线程池上了，我们现在有理由怀疑是有什么业务阻塞到了dubbo的线程，导致其他大量的rpc调用进不来，才出现如此大规模的rpc调用失败&quot;,536871459]],[&quot;^16&quot;,[2304,&quot;^P&quot;,&quot;^19&quot;,536871459]],[&quot;^16&quot;,[2304,&quot;^W&quot;,4,536871459]],[&quot;^16&quot;,[2304,&quot;^F&quot;,2303,536871459]],[&quot;^16&quot;,[2304,&quot;^Y&quot;,2300,536871459]],[&quot;^16&quot;,[2304,&quot;^V&quot;,2300,536871459]],[&quot;^16&quot;,[2304,&quot;^U&quot;,2300,536871459]],[&quot;^16&quot;,[2304,&quot;^1;&quot;,4,536871459]],[&quot;^16&quot;,[2304,&quot;^X&quot;,&quot;^1&lt;&quot;,536871459]],[&quot;^16&quot;,[2304,&quot;^1:&quot;,false,536871459]],[&quot;^16&quot;,[2304,&quot;^;&quot;,&quot;~u629eb85e-97df-4c49-b658-fc7648d4c92c&quot;,536871459]],[&quot;^16&quot;,[2305,&quot;^R&quot;,&quot;#### 原因排查\\n\\n接下来就要寻找是什么原因导致的阻塞，这就有点麻烦了，我们暂时还没有对rpc调用时间进行记录跟踪，而且因为高峰已经过去了，那我只能从线程堆栈入手寻找一些蛛丝马迹了。去k8s找到报错的机子，使用jstack 取到运行中的线程栈 （线上没有jstack，需要先请运维安装），既然出现问题的线程是Dubbo线程，那用vi打开jstack.log，搜索DubboServerHandler-，浏览一下dubbo的线程都在做什么\\n\\n\\n\\n很幸运，瞄到有好几个线程池在做以下的业务，里面带有yncmcc的字眼，大吃一惊，这不是短信吗？\\n\\n好了，90%确定是短信同步调用外部的respApi的问题了。\\n\\n![image-20211208221554747](http://noteimg.flython.ltd/pigGo/image-20211208221554747.png)\\n\\n接着我们去elk进行查询，查询参数链接如下\\n\\n```http\\nhttps://yn.andedu.com.cn/kibana/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:&apos;2021-12-08T09:11:02.000Z&apos;,to:&apos;2021-12-08T09:11:03.000Z&apos;))&amp;_a=(columns:!(),filters:!((&apos;$state&apos;:(store:appState),meta:(alias:!n,disabled:!f,index:e9d129c0-1cff-11ec-bd5b-f9025455692a,key:container.name.keyword,negate:!f,params:(query:vxiao-co-basic),type:phrase),query:(match_phrase:(container.name.keyword:vxiao-co-basic)))),index:e9d129c0-1cff-11ec-bd5b-f9025455692a,interval:auto,query:(language:kuery,query:&apos;%22SMSSender_yncmcc%20%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4%22&apos;),sort:!(!(&apos;@timestamp&apos;,desc)))\\n```\\n\\n查询结果详情看文后的图片，我们取一条日志出来分析\\n\\n&gt;  [2021-12-08 17:11:02.864][INFO] [DubboServerHandler-10.224.10.189:20880-thread-114]c.m.v.c.s.s.impl.SMSSender_yncmcc[80]- SMSSender_yncmcc 执行时间:1863562\\n\\n按照以上查询可以得到得知：\\n\\n1. 这个业务是云南短信发送业务\\n2. 业务执行的实践是1863秒（半小时以上）\\n3. 业务执行的线程是`DubboServerHandler-10.224.10.189:20880-thread-114`\\n4. 查看代码得知短信发送调用是同步调用\\n\\n不难得出结论：\\n\\n**短信发送时使用了dubbo线程池，并且阻塞了线程半小时，所以导致co-basic没有足够的线程执行rpc调用的任务，从而导致所有其他服务调用cobasic中的rpc接口大量失败，其中以考勤的调用量最多，导致考勤大量丢失数据**，\\n\\n![image-20211208195601362](http://noteimg.flython.ltd/pigGo/image-20211208195601362.png)\\n\\n![image-20211208194704986](http://noteimg.flython.ltd/pigGo/image-20211208194704986.png)\\n\\n![image-20211208194952870](http://noteimg.flython.ltd/pigGo/image-20211208194952870.png)&quot;,536871459]],[&quot;^16&quot;,[2305,&quot;^P&quot;,&quot;^19&quot;,536871459]],[&quot;^16&quot;,[2305,&quot;^W&quot;,4,536871459]],[&quot;^16&quot;,[2305,&quot;^F&quot;,2304,536871459]],[&quot;^16&quot;,[2305,&quot;^Y&quot;,2300,536871459]],[&quot;^16&quot;,[2305,&quot;^V&quot;,2300,536871459]],[&quot;^16&quot;,[2305,&quot;^U&quot;,2300,536871459]],[&quot;^16&quot;,[2305,&quot;^1;&quot;,4,536871459]],[&quot;^16&quot;,[2305,&quot;^X&quot;,&quot;^1&lt;&quot;,536871459]],[&quot;^16&quot;,[2305,&quot;^1:&quot;,false,536871459]],[&quot;^16&quot;,[2305,&quot;^;&quot;,&quot;~u629eb85e-b682-4880-93d8-ed37fd09c8c3&quot;,536871459]],[&quot;^16&quot;,[2306,&quot;^R&quot;,&quot;# 解决方案&quot;,536871459]],[&quot;^16&quot;,[2306,&quot;^P&quot;,&quot;^19&quot;,536871459]],[&quot;^16&quot;,[2306,&quot;^W&quot;,1,536871459]],[&quot;^16&quot;,[2306,&quot;^F&quot;,2305,536871459]],[&quot;^16&quot;,[2306,&quot;^Y&quot;,2300,536871459]],[&quot;^16&quot;,[2306,&quot;^V&quot;,2300,536871459]],[&quot;^16&quot;,[2306,&quot;^U&quot;,2300,536871459]],[&quot;^16&quot;,[2306,&quot;^1;&quot;,1,536871459]],[&quot;^16&quot;,[2306,&quot;^X&quot;,&quot;^1&lt;&quot;,536871459]],[&quot;^16&quot;,[2306,&quot;^1:&quot;,false,536871459]],[&quot;^16&quot;,[2306,&quot;^;&quot;,&quot;~u629eb85e-9572-4f7e-8169-cf49f987de86&quot;,536871459]],[&quot;^16&quot;,[2308,&quot;^L&quot;,1654569054634,536871462]],[&quot;^16&quot;,[2308,&quot;^@&quot;,false,536871462]],[&quot;^16&quot;,[2308,&quot;^Z&quot;,&quot;路线指导&quot;,536871462]],[&quot;^16&quot;,[2308,&quot;^12&quot;,&quot;路线指导&quot;,536871462]],[&quot;^16&quot;,[2308,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871462]],[&quot;^16&quot;,[2308,&quot;^B&quot;,1654569054634,536871462]],[&quot;^16&quot;,[2308,&quot;^;&quot;,&quot;~u629eb85f-fde7-4222-9a09-e23cce61a170&quot;,536871576]],[&quot;^16&quot;,[2309,&quot;^R&quot;,&quot;public:: true\\n\\n&quot;,536871462]],[&quot;^16&quot;,[2309,&quot;^P&quot;,&quot;^19&quot;,536871462]],[&quot;^16&quot;,[2309,&quot;^F&quot;,2308,536871462]],[&quot;^16&quot;,[2309,&quot;^Y&quot;,2308,536871462]],[&quot;^16&quot;,[2309,&quot;^V&quot;,2308,536871462]],[&quot;^16&quot;,[2309,&quot;^U&quot;,2308,536871462]],[&quot;^16&quot;,[2309,&quot;^:&quot;,true,536871462]],[&quot;^16&quot;,[2309,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871462]],[&quot;^16&quot;,[2309,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^18&quot;]],536871462]],[&quot;^16&quot;,[2309,&quot;^1:&quot;,true,536871462]],[&quot;^16&quot;,[2309,&quot;^;&quot;,&quot;~u629eb85e-f846-4431-9609-098574a53be3&quot;,536871462]],[&quot;^16&quot;,[2310,&quot;^R&quot;,&quot;### 天河客运站D口&quot;,536871462]],[&quot;^16&quot;,[2310,&quot;^P&quot;,&quot;^19&quot;,536871462]],[&quot;^16&quot;,[2310,&quot;^W&quot;,3,536871462]],[&quot;^16&quot;,[2310,&quot;^F&quot;,2309,536871462]],[&quot;^16&quot;,[2310,&quot;^Y&quot;,2308,536871462]],[&quot;^16&quot;,[2310,&quot;^V&quot;,2308,536871462]],[&quot;^16&quot;,[2310,&quot;^U&quot;,2308,536871462]],[&quot;^16&quot;,[2310,&quot;^1;&quot;,3,536871462]],[&quot;^16&quot;,[2310,&quot;^X&quot;,&quot;^1&lt;&quot;,536871462]],[&quot;^16&quot;,[2310,&quot;^1:&quot;,true,536871462]],[&quot;^16&quot;,[2310,&quot;^;&quot;,&quot;~u629eb85e-e7b6-4ec0-aa30-0f2a59a827b8&quot;,536871462]],[&quot;^16&quot;,[2311,&quot;^R&quot;,&quot;天河客运站D出口出来，往右边一直走1KM，直到看到 景晖苑 三个字&quot;,536871462]],[&quot;^16&quot;,[2311,&quot;^P&quot;,&quot;^19&quot;,536871462]],[&quot;^16&quot;,[2311,&quot;^F&quot;,2310,536871462]],[&quot;^16&quot;,[2311,&quot;^Y&quot;,2308,536871462]],[&quot;^16&quot;,[2311,&quot;^V&quot;,2310,536871462]],[&quot;^16&quot;,[2311,&quot;^U&quot;,2308,536871462]],[&quot;^16&quot;,[2311,&quot;^1:&quot;,true,536871462]],[&quot;^16&quot;,[2311,&quot;^;&quot;,&quot;~u629eb85e-369d-4d4d-ac95-02dc1fd35b2c&quot;,536871462]],[&quot;^16&quot;,[2312,&quot;^R&quot;,&quot;地图搜索 景晖苑&quot;,536871462]],[&quot;^16&quot;,[2312,&quot;^P&quot;,&quot;^19&quot;,536871462]],[&quot;^16&quot;,[2312,&quot;^F&quot;,2311,536871462]],[&quot;^16&quot;,[2312,&quot;^Y&quot;,2308,536871462]],[&quot;^16&quot;,[2312,&quot;^V&quot;,2310,536871462]],[&quot;^16&quot;,[2312,&quot;^U&quot;,2308,536871462]],[&quot;^16&quot;,[2312,&quot;^1:&quot;,true,536871462]],[&quot;^16&quot;,[2312,&quot;^;&quot;,&quot;~u629eb85e-deae-4304-b49b-d3d94dc4b387&quot;,536871462]],[&quot;^16&quot;,[2313,&quot;^R&quot;,&quot;大门不上锁，直接推门进来左手边第二个楼梯口（菜鸟旁边）上6楼&quot;,536871462]],[&quot;^16&quot;,[2313,&quot;^P&quot;,&quot;^19&quot;,536871462]],[&quot;^16&quot;,[2313,&quot;^F&quot;,2312,536871462]],[&quot;^16&quot;,[2313,&quot;^Y&quot;,2308,536871462]],[&quot;^16&quot;,[2313,&quot;^V&quot;,2310,536871462]],[&quot;^16&quot;,[2313,&quot;^U&quot;,2308,536871462]],[&quot;^16&quot;,[2313,&quot;^1:&quot;,true,536871462]],[&quot;^16&quot;,[2313,&quot;^;&quot;,&quot;~u629eb85e-8e85-45fe-8afc-9dc95ef98e33&quot;,536871462]],[&quot;^16&quot;,[2314,&quot;^R&quot;,&quot;![Replaced by Image Uploder](https://cdn.jsdelivr.net/gh/flython/logseq_pic@main/logseq/image_1654331632203_0.png)&quot;,536871462]],[&quot;^16&quot;,[2314,&quot;^P&quot;,&quot;^19&quot;,536871462]],[&quot;^16&quot;,[2314,&quot;^F&quot;,2313,536871462]],[&quot;^16&quot;,[2314,&quot;^Y&quot;,2308,536871462]],[&quot;^16&quot;,[2314,&quot;^V&quot;,2310,536871462]],[&quot;^16&quot;,[2314,&quot;^U&quot;,2308,536871462]],[&quot;^16&quot;,[2314,&quot;^1:&quot;,true,536871462]],[&quot;^16&quot;,[2314,&quot;^;&quot;,&quot;~u629eb85e-213a-4b50-a89a-6a320506ef57&quot;,536871462]],[&quot;^16&quot;,[2315,&quot;^R&quot;,&quot;### 京溪南方医院D口(我没走过)&quot;,536871462]],[&quot;^16&quot;,[2315,&quot;^P&quot;,&quot;^19&quot;,536871462]],[&quot;^16&quot;,[2315,&quot;^W&quot;,3,536871462]],[&quot;^16&quot;,[2315,&quot;^F&quot;,2310,536871462]],[&quot;^16&quot;,[2315,&quot;^Y&quot;,2308,536871462]],[&quot;^16&quot;,[2315,&quot;^V&quot;,2308,536871462]],[&quot;^16&quot;,[2315,&quot;^U&quot;,2308,536871462]],[&quot;^16&quot;,[2315,&quot;^1;&quot;,3,536871462]],[&quot;^16&quot;,[2315,&quot;^X&quot;,&quot;^1&lt;&quot;,536871462]],[&quot;^16&quot;,[2315,&quot;^1:&quot;,true,536871462]],[&quot;^16&quot;,[2315,&quot;^;&quot;,&quot;~u629eb85e-dcba-4de0-ae01-12b79338e25c&quot;,536871462]],[&quot;^16&quot;,[2316,&quot;^R&quot;,&quot;![Replaced by Image Uploder](https://cdn.jsdelivr.net/gh/flython/logseq_pic@main/logseq/image_1654331661854_0.png){:height 738, :width 1217}&quot;,536871462]],[&quot;^16&quot;,[2316,&quot;^P&quot;,&quot;^19&quot;,536871462]],[&quot;^16&quot;,[2316,&quot;^F&quot;,2315,536871462]],[&quot;^16&quot;,[2316,&quot;^Y&quot;,2308,536871462]],[&quot;^16&quot;,[2316,&quot;^V&quot;,2315,536871462]],[&quot;^16&quot;,[2316,&quot;^U&quot;,2308,536871462]],[&quot;^16&quot;,[2316,&quot;^1:&quot;,true,536871462]],[&quot;^16&quot;,[2316,&quot;^;&quot;,&quot;~u629eb85e-3039-4301-9524-c62c410bc054&quot;,536871462]],[&quot;^16&quot;,[2354,&quot;^L&quot;,1654569054724,536871474]],[&quot;^16&quot;,[2354,&quot;^O&quot;,19700408,536871474]],[&quot;^16&quot;,[2354,&quot;^@&quot;,true,536871474]],[&quot;^16&quot;,[2354,&quot;^Z&quot;,&quot;wed, 1970/04/08&quot;,536871474]],[&quot;^16&quot;,[2354,&quot;^A&quot;,2353,536871474]],[&quot;^16&quot;,[2354,&quot;^12&quot;,&quot;Wed, 1970/04/08&quot;,536871474]],[&quot;^16&quot;,[2354,&quot;^?&quot;,[&quot;^ &quot;,&quot;~:别管&quot;,&quot;上面的时间随便选的&quot;,&quot;^18&quot;,true],536871841]],[&quot;^16&quot;,[2354,&quot;^B&quot;,1654597979854,536871847]],[&quot;^16&quot;,[2354,&quot;^;&quot;,&quot;~u629eb85e-b12b-4ab5-b8ac-b291efab3e2a&quot;,536871474]],[&quot;^16&quot;,[2356,&quot;^N&quot;,false,536871753]],[&quot;^16&quot;,[2356,&quot;^R&quot;,&quot;### 折腾下手机\\ncollapsed:: true&quot;,536871474]],[&quot;^16&quot;,[2356,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2356,&quot;^W&quot;,3,536871474]],[&quot;^16&quot;,[2356,&quot;^F&quot;,2378,536871474]],[&quot;^16&quot;,[2356,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2356,&quot;^V&quot;,2354,536871474]],[&quot;^16&quot;,[2356,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2356,&quot;^?&quot;,[&quot;^ &quot;],536871474]],[&quot;^16&quot;,[2356,&quot;^K&quot;,[],536871474]],[&quot;^16&quot;,[2356,&quot;^1;&quot;,3,536871474]],[&quot;^16&quot;,[2356,&quot;^X&quot;,&quot;^1&lt;&quot;,536871474]],[&quot;^16&quot;,[2356,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2356,&quot;^;&quot;,&quot;~u629eb85e-49d2-4482-88e4-e322f65b07df&quot;,536871474]],[&quot;^16&quot;,[2357,&quot;^R&quot;,&quot;[[如何使用正则进行去重]]&quot;,536871474]],[&quot;^16&quot;,[2357,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2357,&quot;^F&quot;,2375,536871474]],[&quot;^16&quot;,[2357,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2357,&quot;^V&quot;,2375,536871474]],[&quot;^16&quot;,[2357,&quot;^U&quot;,1983,536871474]],[&quot;^16&quot;,[2357,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2357,&quot;^H&quot;,1983,536871474]],[&quot;^16&quot;,[2357,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2357,&quot;^;&quot;,&quot;~u629eb85e-8b4a-455e-b3f8-9b891e157586&quot;,536871474]],[&quot;^16&quot;,[2359,&quot;^R&quot;,&quot;[[获取一个Spring代理实例的原始实例]]&quot;,536871474]],[&quot;^16&quot;,[2359,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2359,&quot;^F&quot;,2376,536871474]],[&quot;^16&quot;,[2359,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2359,&quot;^V&quot;,2361,536871474]],[&quot;^16&quot;,[2359,&quot;^U&quot;,2295,536871474]],[&quot;^16&quot;,[2359,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2359,&quot;^H&quot;,2295,536871474]],[&quot;^16&quot;,[2359,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2359,&quot;^;&quot;,&quot;~u629eb85e-51be-472a-b122-eee9d7f439f3&quot;,536871474]],[&quot;^16&quot;,[2360,&quot;^R&quot;,&quot;[[@JsonCreator 使用中发现的问题]]&quot;,536871474]],[&quot;^16&quot;,[2360,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2360,&quot;^F&quot;,2359,536871474]],[&quot;^16&quot;,[2360,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2360,&quot;^V&quot;,2361,536871474]],[&quot;^16&quot;,[2360,&quot;^U&quot;,1378,536871474]],[&quot;^16&quot;,[2360,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2360,&quot;^H&quot;,1378,536871474]],[&quot;^16&quot;,[2360,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2360,&quot;^;&quot;,&quot;~u629eb85e-71f0-44e3-bb23-46e44be8e2ea&quot;,536871474]],[&quot;^16&quot;,[2361,&quot;^N&quot;,false,536871744]],[&quot;^16&quot;,[2361,&quot;^R&quot;,&quot;### 工作随笔\\ncollapsed:: true&quot;,536871474]],[&quot;^16&quot;,[2361,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2361,&quot;^W&quot;,3,536871474]],[&quot;^16&quot;,[2361,&quot;^F&quot;,2369,536871474]],[&quot;^16&quot;,[2361,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2361,&quot;^V&quot;,2354,536871474]],[&quot;^16&quot;,[2361,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2361,&quot;^?&quot;,[&quot;^ &quot;],536871474]],[&quot;^16&quot;,[2361,&quot;^K&quot;,[],536871474]],[&quot;^16&quot;,[2361,&quot;^1;&quot;,3,536871474]],[&quot;^16&quot;,[2361,&quot;^X&quot;,&quot;^1&lt;&quot;,536871474]],[&quot;^16&quot;,[2361,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2361,&quot;^;&quot;,&quot;~u629eb85e-4140-43a5-80fd-3e3a3c2b5e3e&quot;,536871474]],[&quot;^16&quot;,[2362,&quot;^R&quot;,&quot;别管:: 上面的时间随便选的\\npublic:: true&quot;,536871841]],[&quot;^16&quot;,[2362,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2362,&quot;^F&quot;,2354,536871474]],[&quot;^16&quot;,[2362,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2362,&quot;^V&quot;,2354,536871474]],[&quot;^16&quot;,[2362,&quot;^U&quot;,2354,536871841]],[&quot;^16&quot;,[2362,&quot;^:&quot;,true,536871841]],[&quot;^16&quot;,[2362,&quot;^?&quot;,[&quot;^ &quot;,&quot;^1&gt;&quot;,&quot;上面的时间随便选的&quot;,&quot;^18&quot;,true],536871841]],[&quot;^16&quot;,[2362,&quot;^K&quot;,[&quot;^15&quot;,[&quot;^1&gt;&quot;,&quot;^18&quot;]],536871841]],[&quot;^16&quot;,[2362,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2362,&quot;^;&quot;,&quot;~u629eb85e-1f1a-469a-9972-a13047bfee9e&quot;,536871474]],[&quot;^16&quot;,[2363,&quot;^N&quot;,false,536871757]],[&quot;^16&quot;,[2363,&quot;^R&quot;,&quot;### Logseq\\ncollapsed:: true&quot;,536871474]],[&quot;^16&quot;,[2363,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2363,&quot;^W&quot;,3,536871474]],[&quot;^16&quot;,[2363,&quot;^F&quot;,2370,536871474]],[&quot;^16&quot;,[2363,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2363,&quot;^V&quot;,2354,536871474]],[&quot;^16&quot;,[2363,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2363,&quot;^?&quot;,[&quot;^ &quot;],536871474]],[&quot;^16&quot;,[2363,&quot;^K&quot;,[],536871474]],[&quot;^16&quot;,[2363,&quot;^1;&quot;,3,536871474]],[&quot;^16&quot;,[2363,&quot;^X&quot;,&quot;^1&lt;&quot;,536871474]],[&quot;^16&quot;,[2363,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2363,&quot;^;&quot;,&quot;~u629eb85e-6d07-4596-b9c2-60c678c8960d&quot;,536871474]],[&quot;^16&quot;,[2364,&quot;^R&quot;,&quot;[[PGSQL Json字段查询及查询条件]]&quot;,536871474]],[&quot;^16&quot;,[2364,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2364,&quot;^F&quot;,2365,536871474]],[&quot;^16&quot;,[2364,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2364,&quot;^V&quot;,2361,536871474]],[&quot;^16&quot;,[2364,&quot;^U&quot;,1760,536871474]],[&quot;^16&quot;,[2364,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2364,&quot;^H&quot;,1760,536871474]],[&quot;^16&quot;,[2364,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2364,&quot;^;&quot;,&quot;~u629eb85e-f184-4e48-bc05-62cb8896d5b4&quot;,536871474]],[&quot;^16&quot;,[2365,&quot;^R&quot;,&quot;[[如何在jdbcTemplate里对使用RowMapper对PgArray进行转换]]&quot;,536871474]],[&quot;^16&quot;,[2365,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2365,&quot;^F&quot;,2377,536871474]],[&quot;^16&quot;,[2365,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2365,&quot;^V&quot;,2361,536871474]],[&quot;^16&quot;,[2365,&quot;^U&quot;,1989,536871474]],[&quot;^16&quot;,[2365,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2365,&quot;^H&quot;,1989,536871474]],[&quot;^16&quot;,[2365,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2365,&quot;^;&quot;,&quot;~u629eb85e-a0dc-4dba-bdfa-ffaf6ee9bba7&quot;,536871474]],[&quot;^16&quot;,[2366,&quot;^R&quot;,&quot;[[整块煎黑胡椒鸡胸肉]]&quot;,536871474]],[&quot;^16&quot;,[2366,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2366,&quot;^F&quot;,2370,536871474]],[&quot;^16&quot;,[2366,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2366,&quot;^V&quot;,2370,536871474]],[&quot;^16&quot;,[2366,&quot;^U&quot;,1415,536871474]],[&quot;^16&quot;,[2366,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2366,&quot;^H&quot;,1415,536871474]],[&quot;^16&quot;,[2366,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2366,&quot;^;&quot;,&quot;~u629eb85e-dfc0-456d-9668-3198763a7446&quot;,536871474]],[&quot;^16&quot;,[2367,&quot;^R&quot;,&quot;![jsdeliver](https://cdn.jsdelivr.net/gh/flython/logseq_pic@main/%7B%5B2%25G%5B0YAI2%5D(TZ3DGX8L%24Y.jpg)&quot;,536871823]],[&quot;^16&quot;,[2367,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2367,&quot;^F&quot;,2661,536871814]],[&quot;^16&quot;,[2367,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2367,&quot;^V&quot;,2660,536871814]],[&quot;^16&quot;,[2367,&quot;^U&quot;,2354,536871823]],[&quot;^16&quot;,[2367,&quot;^?&quot;,[&quot;^ &quot;],536871823]],[&quot;^16&quot;,[2367,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2367,&quot;^;&quot;,&quot;~u629eb85e-26b8-4048-9e8c-162c626a8c12&quot;,536871474]],[&quot;^16&quot;,[2368,&quot;^R&quot;,&quot;[[STAR法则：如何做项目介绍]]&quot;,536871474]],[&quot;^16&quot;,[2368,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2368,&quot;^F&quot;,2378,536871474]],[&quot;^16&quot;,[2368,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2368,&quot;^V&quot;,2378,536871474]],[&quot;^16&quot;,[2368,&quot;^U&quot;,1404,536871474]],[&quot;^16&quot;,[2368,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2368,&quot;^H&quot;,1404,536871474]],[&quot;^16&quot;,[2368,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2368,&quot;^;&quot;,&quot;~u629eb85e-857e-46bb-904c-5121851d92ed&quot;,536871474]],[&quot;^16&quot;,[2369,&quot;^R&quot;,&quot;# 这个页面充当目录先？&quot;,536871474]],[&quot;^16&quot;,[2369,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2369,&quot;^W&quot;,1,536871474]],[&quot;^16&quot;,[2369,&quot;^F&quot;,2362,536871474]],[&quot;^16&quot;,[2369,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2369,&quot;^V&quot;,2354,536871474]],[&quot;^16&quot;,[2369,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2369,&quot;^1;&quot;,1,536871474]],[&quot;^16&quot;,[2369,&quot;^X&quot;,&quot;^1&lt;&quot;,536871474]],[&quot;^16&quot;,[2369,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2369,&quot;^;&quot;,&quot;~u629eb85e-7c8b-445d-ab40-36bb7a3f2586&quot;,536871474]],[&quot;^16&quot;,[2370,&quot;^N&quot;,false,536871754]],[&quot;^16&quot;,[2370,&quot;^R&quot;,&quot;### 菜谱\\ncollapsed:: true&quot;,536871474]],[&quot;^16&quot;,[2370,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2370,&quot;^W&quot;,3,536871474]],[&quot;^16&quot;,[2370,&quot;^F&quot;,2356,536871474]],[&quot;^16&quot;,[2370,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2370,&quot;^V&quot;,2354,536871474]],[&quot;^16&quot;,[2370,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2370,&quot;^?&quot;,[&quot;^ &quot;],536871474]],[&quot;^16&quot;,[2370,&quot;^K&quot;,[],536871474]],[&quot;^16&quot;,[2370,&quot;^1;&quot;,3,536871474]],[&quot;^16&quot;,[2370,&quot;^X&quot;,&quot;^1&lt;&quot;,536871474]],[&quot;^16&quot;,[2370,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2370,&quot;^;&quot;,&quot;~u629eb85e-9e37-4deb-8e61-8deae9b2c107&quot;,536871474]],[&quot;^16&quot;,[2371,&quot;^R&quot;,&quot;[[Logseq自定义第三方字体的方法]]&quot;,536871474]],[&quot;^16&quot;,[2371,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2371,&quot;^F&quot;,2363,536871474]],[&quot;^16&quot;,[2371,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2371,&quot;^V&quot;,2363,536871474]],[&quot;^16&quot;,[2371,&quot;^U&quot;,1413,536871474]],[&quot;^16&quot;,[2371,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2371,&quot;^H&quot;,1413,536871474]],[&quot;^16&quot;,[2371,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2371,&quot;^;&quot;,&quot;~u629eb85e-eaeb-44fa-bc3f-b4b4ce8f521c&quot;,536871474]],[&quot;^16&quot;,[2372,&quot;^R&quot;,&quot;[[记录一次 dubbo rpc调用失败日志问题排查]]&quot;,536871474]],[&quot;^16&quot;,[2372,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2372,&quot;^F&quot;,2364,536871474]],[&quot;^16&quot;,[2372,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2372,&quot;^V&quot;,2361,536871474]],[&quot;^16&quot;,[2372,&quot;^U&quot;,2300,536871474]],[&quot;^16&quot;,[2372,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2372,&quot;^H&quot;,2300,536871474]],[&quot;^16&quot;,[2372,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2372,&quot;^;&quot;,&quot;~u629eb85e-4a5d-407d-a5ed-d86e40d32bc6&quot;,536871474]],[&quot;^16&quot;,[2374,&quot;^R&quot;,&quot;[[Termux在安卓上开启ssh]]&quot;,536871474]],[&quot;^16&quot;,[2374,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2374,&quot;^F&quot;,2356,536871474]],[&quot;^16&quot;,[2374,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2374,&quot;^V&quot;,2356,536871474]],[&quot;^16&quot;,[2374,&quot;^U&quot;,1909,536871474]],[&quot;^16&quot;,[2374,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2374,&quot;^H&quot;,1909,536871474]],[&quot;^16&quot;,[2374,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2374,&quot;^;&quot;,&quot;~u629eb85e-5f25-408e-a65a-8c154571dcd2&quot;,536871474]],[&quot;^16&quot;,[2375,&quot;^N&quot;,false,536871747]],[&quot;^16&quot;,[2375,&quot;^R&quot;,&quot;### 偷懒小技巧\\ncollapsed:: true&quot;,536871474]],[&quot;^16&quot;,[2375,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2375,&quot;^W&quot;,3,536871474]],[&quot;^16&quot;,[2375,&quot;^F&quot;,2361,536871474]],[&quot;^16&quot;,[2375,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2375,&quot;^V&quot;,2354,536871474]],[&quot;^16&quot;,[2375,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2375,&quot;^?&quot;,[&quot;^ &quot;],536871474]],[&quot;^16&quot;,[2375,&quot;^K&quot;,[],536871474]],[&quot;^16&quot;,[2375,&quot;^1;&quot;,3,536871474]],[&quot;^16&quot;,[2375,&quot;^X&quot;,&quot;^1&lt;&quot;,536871474]],[&quot;^16&quot;,[2375,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2375,&quot;^;&quot;,&quot;~u629eb85e-433a-42d1-9b0b-28fed7f7f988&quot;,536871474]],[&quot;^16&quot;,[2376,&quot;^R&quot;,&quot;[[swagger-knife4j 自定义字段取值范围（解决枚举的可用值显示）]]&quot;,536871474]],[&quot;^16&quot;,[2376,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2376,&quot;^F&quot;,2361,536871474]],[&quot;^16&quot;,[2376,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2376,&quot;^V&quot;,2361,536871474]],[&quot;^16&quot;,[2376,&quot;^U&quot;,1884,536871474]],[&quot;^16&quot;,[2376,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2376,&quot;^H&quot;,1884,536871474]],[&quot;^16&quot;,[2376,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2376,&quot;^;&quot;,&quot;~u629eb85e-6877-4304-b475-b3ea2f865873&quot;,536871474]],[&quot;^16&quot;,[2377,&quot;^R&quot;,&quot;[[mybatis-plus 对枚举数组的转换]]&quot;,536871474]],[&quot;^16&quot;,[2377,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2377,&quot;^F&quot;,2360,536871474]],[&quot;^16&quot;,[2377,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2377,&quot;^V&quot;,2361,536871474]],[&quot;^16&quot;,[2377,&quot;^U&quot;,1756,536871474]],[&quot;^16&quot;,[2377,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2377,&quot;^H&quot;,1756,536871474]],[&quot;^16&quot;,[2377,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2377,&quot;^;&quot;,&quot;~u629eb85e-71f1-44af-b28c-5b13047b54e1&quot;,536871474]],[&quot;^16&quot;,[2378,&quot;^N&quot;,false,536871750]],[&quot;^16&quot;,[2378,&quot;^R&quot;,&quot;### 做事情的方法\\ncollapsed:: true&quot;,536871474]],[&quot;^16&quot;,[2378,&quot;^P&quot;,&quot;^19&quot;,536871474]],[&quot;^16&quot;,[2378,&quot;^W&quot;,3,536871474]],[&quot;^16&quot;,[2378,&quot;^F&quot;,2375,536871474]],[&quot;^16&quot;,[2378,&quot;^Y&quot;,2354,536871474]],[&quot;^16&quot;,[2378,&quot;^V&quot;,2354,536871474]],[&quot;^16&quot;,[2378,&quot;^U&quot;,2354,536871474]],[&quot;^16&quot;,[2378,&quot;^?&quot;,[&quot;^ &quot;],536871474]],[&quot;^16&quot;,[2378,&quot;^K&quot;,[],536871474]],[&quot;^16&quot;,[2378,&quot;^1;&quot;,3,536871474]],[&quot;^16&quot;,[2378,&quot;^X&quot;,&quot;^1&lt;&quot;,536871474]],[&quot;^16&quot;,[2378,&quot;^1:&quot;,true,536871474]],[&quot;^16&quot;,[2378,&quot;^;&quot;,&quot;~u629eb85e-4d7d-4b3d-84da-2dc0d4c662b7&quot;,536871474]],[&quot;^16&quot;,[2651,&quot;^13&quot;,1,536871597]],[&quot;^16&quot;,[2653,&quot;^13&quot;,1,536871664]],[&quot;^16&quot;,[2658,&quot;^13&quot;,1,536871739]],[&quot;^16&quot;,[2660,&quot;^N&quot;,true,536871844]],[&quot;^16&quot;,[2660,&quot;^R&quot;,&quot;### 学习放松（谨慎打开）&quot;,536871791]],[&quot;^16&quot;,[2660,&quot;^P&quot;,&quot;^19&quot;,536871760]],[&quot;^16&quot;,[2660,&quot;^W&quot;,3,536871791]],[&quot;^16&quot;,[2660,&quot;^F&quot;,2363,536871763]],[&quot;^16&quot;,[2660,&quot;^Y&quot;,2354,536871760]],[&quot;^16&quot;,[2660,&quot;^V&quot;,2354,536871763]],[&quot;^16&quot;,[2660,&quot;^U&quot;,2354,536871791]],[&quot;^16&quot;,[2660,&quot;^?&quot;,[&quot;^ &quot;],536871791]],[&quot;^16&quot;,[2660,&quot;^1;&quot;,3,536871791]],[&quot;^16&quot;,[2660,&quot;^X&quot;,&quot;^1&lt;&quot;,536871791]],[&quot;^16&quot;,[2660,&quot;^1:&quot;,true,536871760]],[&quot;^16&quot;,[2660,&quot;^;&quot;,&quot;~u629f259c-5bf2-4c00-9852-b95949171e71&quot;,536871760]],[&quot;^16&quot;,[2661,&quot;^R&quot;,&quot;![jsdeliver](https://cdn.jsdelivr.net/gh/flython/logseq_pic@main/1654157647048.gif)&quot;,536871805]],[&quot;^16&quot;,[2661,&quot;^P&quot;,&quot;^19&quot;,536871794]],[&quot;^16&quot;,[2661,&quot;^F&quot;,2660,536871794]],[&quot;^16&quot;,[2661,&quot;^Y&quot;,2354,536871794]],[&quot;^16&quot;,[2661,&quot;^V&quot;,2660,536871795]],[&quot;^16&quot;,[2661,&quot;^U&quot;,2354,536871805]],[&quot;^16&quot;,[2661,&quot;^?&quot;,[&quot;^ &quot;],536871805]],[&quot;^16&quot;,[2661,&quot;^1:&quot;,true,536871794]],[&quot;^16&quot;,[2661,&quot;^;&quot;,&quot;~u629f25af-f62b-4ec8-9769-b88a567a0edd&quot;,536871794]],[&quot;^16&quot;,[2663,&quot;^R&quot;,&quot;public:: true&quot;,536871827]],[&quot;^16&quot;,[2663,&quot;^P&quot;,&quot;^19&quot;,536871827]],[&quot;^16&quot;,[2663,&quot;^F&quot;,2300,536871827]],[&quot;^16&quot;,[2663,&quot;^Y&quot;,2300,536871827]],[&quot;^16&quot;,[2663,&quot;^V&quot;,2300,536871827]],[&quot;^16&quot;,[2663,&quot;^:&quot;,true,536871827]],[&quot;^16&quot;,[2663,&quot;^?&quot;,[&quot;^ &quot;,&quot;^18&quot;,true],536871827]],[&quot;^16&quot;,[2663,&quot;^;&quot;,&quot;~ua4eeb437-21ac-4068-90d7-c4a85ae732a1&quot;,536871827]]]]]]"</script><script>window.logseq_state="{:ui/theme \"light\", :ui/sidebar-collapsed-blocks {}, :ui/show-recent? false, :config {\"local\" {:shortcuts {:go/search \"shift+ctrl+f\", :go/search-in-page \"ctrl+f\", :command/toggle-favorite \"false\"}, :default-templates {:journals \"\"}, :macros {}, :shortcut/doc-mode-enter-for-new-block? false, :favorites [\"wed, 1970/04/08\" \"Cards\" \"Tasks\" \"Contents\"], :ui/show-empty-bullets? false, :preferred-workflow :now, :journal/page-title-format \"EEE, yyyy/MM/dd\", :ui/show-brackets? true, :ref/default-open-blocks-level 2, :feature/enable-block-timestamps? false, :start-of-week 6, :feature/enable-timetracking? true, :ref/linked-references-collapsed-threshold 50, :outliner/block-title-collapse-enabled? false, :commands [], :meta/version 1, :hidden [], :default-queries {:journals [{:title \"🔨 NOW\", :query [:find (pull ?h [*]) :in $ ?start ?today :where [?h :block/marker ?marker] [(contains? #{\"NOW\" \"DOING\"} ?marker)] [?h :block/page ?p] [?p :block/journal? true] [?p :block/journal-day ?d] [(>= ?d ?start)] [(<= ?d ?today)]], :inputs [:14d :today], :result-transform (fn [result] (sort-by (fn [h] (get h :block/priority \"Z\")) result)), :collapsed? false} {:title \"📅 NEXT\", :query [:find (pull ?h [*]) :in $ ?start ?next :where [?h :block/marker ?marker] [(contains? #{\"NOW\" \"LATER\" \"TODO\"} ?marker)] [?h :block/ref-pages ?p] [?p :block/journal? true] [?p :block/journal-day ?d] [(> ?d ?start)] [(< ?d ?next)]], :inputs [:today :7d-after], :collapsed? false}]}, :ui/enable-tooltip? true, :graph/settings {:journal? false, :builtin-pages? false}, :ui/show-command-doc? true}}}"</script><script type="text/javascript">// Single Page Apps for GitHub Pages
      // https://github.com/rafgraph/spa-github-pages
      // Copyright (c) 2016 Rafael Pedicini, licensed under the MIT License
      // ----------------------------------------------------------------------
      // This script checks to see if a redirect is present in the query string
      // and converts it back into the correct url and adds it to the
      // browser's history using window.history.replaceState(...),
      // which won't cause the browser to attempt to load the new url.
      // When the single page app is loaded further down in this file,
      // the correct url will be waiting in the browser's history for
      // the single page app to route accordingly.
      (function(l) {
        if (l.search) {
          var q = {};
          l.search.slice(1).split('&').forEach(function(v) {
            var a = v.split('=');
            q[a[0]] = a.slice(1).join('=').replace(/~and~/g, '&');
          });
          if (q.p !== undefined) {
            window.history.replaceState(null, null,
              l.pathname.slice(0, -1) + (q.p || '') +
              (q.q ? ('?' + q.q) : '') +
              l.hash
            );
          }
        }
      }(window.location))</script><script src="static/js/main.js"></script><script src="static/js/highlight.min.js"></script><script src="static/js/interact.min.js"></script><script src="static/js/code-editor.js"></script></body>